我<td>
看起来像这样:
<td>
<input type="text" ng-repeat="letter in letters(cron_format) track by $index" value="{{letter}}" ng-model="letter"/>
<button class="save" ng-click="saveCron(user_id,script_id,cron_format,letter)">save</button>
</td>
value="{{letter}}
和ng-model =“letter”都包含正确的值,但当我将它传递给saveCron()函数时,如下所示:
$scope.saveCron = function(userId,scriptId,cronFormat,data){
console.log(data);
}
我得到了不确定......为什么?
答案 0 :(得分:0)
letter
未定义的原因是控制器范围内没有letter
。
然后你可能会问,为什么<input type="text" ng-repeat="letter in letters(cron_format) track by $index" value="{{letter}}" ng-model="letter"/>
能够奏效?
因为ng-repeat
将为每个元素创建一个单独的子范围,并在此范围内创建一个名为letter
的对象。然后ng-model
可以阅读它。但是,在父作用域(您的控制器的作用域)中无法访问它。
希望我的解释清楚。