Javascript AngularJS范围变量始终未定义
这听起来可能是个愚蠢的问题,但我已经在这个问题上纠缠了几个小时。我一定忽略了一些非常简单的事情 我有一个ng repeat指令,它输出一个项目列表:Javascript AngularJS范围变量始终未定义,javascript,html,angularjs,angularjs-scope,angularjs-ng-repeat,Javascript,Html,Angularjs,Angularjs Scope,Angularjs Ng Repeat,这听起来可能是个愚蠢的问题,但我已经在这个问题上纠缠了几个小时。我一定忽略了一些非常简单的事情 我有一个ng repeat指令,它输出一个项目列表: <div ng-controller="MyCtrl"> <div ng-repeat="foo in bars"> .... </div> </div> 但是$scope.valueToAdd总是给我未定义的 我错过了什么 编辑:这里有一个问题被重现了:ng repeat为
<div ng-controller="MyCtrl">
<div ng-repeat="foo in bars">
....
</div>
</div>
但是$scope.valueToAdd总是给我未定义的
我错过了什么
编辑:这里有一个问题被重现了:ng repeat为它的每个重复部分创建了新的作用域,因此valueToAdd绑定到该内部作用域上的一个变量,该变量是外部作用域的子变量。调用addStuff时,它可以工作,因为它通过作用域继承访问外部作用域上的方法,但它尝试引用的变量未在该外部作用域中定义
请尝试将值传递给addStuff:
ng repeat为每个重复的部分创建新的作用域,因此valueToAdd绑定到该内部作用域上的一个变量,该变量是外部作用域的子变量。调用addStuff时,它可以工作,因为它通过作用域继承访问外部作用域上的方法,但它尝试引用的变量未在该外部作用域中定义
请尝试将值传递给addStuff:
看起来很好,嗯,好的。让我再看看。例如,可能是我复制/粘贴的代码之外的内容。典型的-可能valueToAdd超出了MyCtrl@Atrix1987打得好,我想不会,但可能会:嗨,伙计们,刚刚添加了一个指向plunker的链接。我将你的plunker@robertklep分叉并进行了修改,因此它更类似于我的实际代码,现在我也遇到了同样的问题。似乎工作得很好。让我再看看。例如,可能是我复制/粘贴的代码之外的内容。典型的-可能valueToAdd超出了MyCtrl@Atrix1987好主意,我想不会,但可能会:嗨,伙计们,刚刚添加了一个指向plunker的链接。我将你的plunker@robertklep分叉并进行了修改,因此它更类似于我的实际代码,现在我也遇到了同样的问题。宾果!这很有道理。谢谢答对 了这很有道理。谢谢
<div class="add">
<input ng-model="valueToAdd" class="weight" />
<a ng-click="addStuff()" class="button-small"> + Add</a>
</div>
function MyCtrl($scope) {
$scope.addStuff= function () {
alert($scope.valueToAdd);
}
}
ng-click="addStuff(valueToAdd)"