当前位置: 首页 > 知识库问答 >
问题:

为什么输入不能正常工作ng-repeat[重复]

梁烨烨
2023-03-14
<div ng-repeat="kind in movieKinds">
    <input type="radio" name="movies" ng-value="kind" ng-model="kindSelected"> {{kind.name}}<br>
</div>
Selected Movie :{{kindSelected}}
mymodule.controller('MainCtrl', [ '$scope',function ($scope) {

    $scope.movieKinds = [
        {'name' : 'Action', 'movies' : ['Action#1', 'Action#2', 'Action#3']},
        {'name' : 'Comedy', 'movies' : ['Comedy#1', 'Comedy#2', 'Comedy#3']},
        {'name' : 'Drama', 'movies' : ['Drama#1', 'Drama#2']},
        {'name' : 'Horror', 'movies' : ['Horror#1']}
    ];

}]);

共有1个答案

高山
2023-03-14

因为ng-repeat确实在每次迭代中创建一个新的子作用域(原型继承),当它在放置ng-repeat指令的地方重复模板时。

那么,当ng-repeat创建一个新的原型继承的子范围时会发生什么呢?

在子作用域中,它携带所有属性,其中primity属性初始值在创建子作用域时取值&对象值与其引用一起取值,因此父作用域值中的更新将在子作用域值中更新,反之亦然。

要解决这样的问题,可以在定义ng-model时使用object,以便在定义ng-model时遵循dot规则。这意味着您可以在控制器内部定义一个名为$scope.model的对象&然后添加KindSelected属性,以便在选中复选框时更新该值。

标记

<div ng-repeat="kind in movieKinds">
    <input type="radio" name="movies" ng-value="kind" ng-model="kindSelected"> {{kind.name}}<br>
</div>
Selected Movie :{{model.kindSelected}}

代码

$scope.model = {};
 类似资料:
  • 问题内容: 有人可以向我解释为什么在这个简单示例中我无法获得当前选择的单选按钮。我正在尝试使用ng-repeat指令动态生成单选按钮,并使用ng- model获取当前选择的单选按钮。像这样: 模板: 控制器: 问题答案: 因为当它在放置指令的位置重复模板时,确实会在每次迭代中创建一个新的子范围(通常是继承的)。 那么当创建一个新的原型继承的子范围时会发生什么呢? 在子作用域中,它包含所有属性,其中

  • 我正在使用Java NIO,由于某种原因,我无法获得files.isHidden()来返回正确的布尔值。程序只是检查目录是否隐藏,如果隐藏,则使其可见,如果不隐藏,则使其隐藏。这就是我所拥有的: 它继续返回false并隐藏目录,尽管目录被隐藏。下面的代码使用旧的File类和Path类可以很好地工作。

  • 我一直在用SceneBuilder 9.0.1在IntelliJ上做一个项目。昨天,在NetBeans 8上做了一个小型项目,12之后由于某种原因没有启动新项目。一旦关闭所有内容并打开IntelliJ项目,fxml文档就无法使用SceneBuilder打开。对于这个问题,需要注意以下几点: 我使用的是9.0.1版,尽管v15也有同样的问题, 其中一个fxml文件的示例如下: 请帮助。

  • 我已经做了这个程序,我被卡住了。当我运行它时,我的输入没有使用空格,它工作得很好,例如,在customer input中只输入。但是,当我输入时,它会合并接下来的两个字符串输入方向(如所附的pic所示)。我在这里做错了什么?

  • 我正在尝试制作一个简单的Pygame应用程序,其中一些颜色与它们下面的颜色混合。以下是我的代码: 代码列表1: 代码应该使黄色矩形与橙色矩形混合,蓝色矩形与绿色矩形混合。相反,我从中得到了一些东西: 对此: 正如你所看到的,黄色和蓝色矩形不仅与红色矩形(屏幕表面)相融合,而且还为橙色和绿色矩形开了一个洞,这样我们就可以通过它们看到红色矩形。

  • 问题内容: 作为回答另一个问题的一部分,我编写了以下代码,乍看之下其行为似乎很奇怪: 谁能解释这个奇怪的行为?我认为这与Python的对象模型有关,但我不确定。 Cygwin下的版本2.5.2。 问题答案: Python具有这两个(以及其他)内置对象。它们只是对象。刚开始时,它们还没有任何名称,但是要知道我们指的是什么,我们将它们称为和。 在开始执行Python(2.x)脚本之前,该名称已绑定到该