将值从ng-model传递给ng-click函数

时间:2015-02-14 01:07:46

标签: angularjs

<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);
}

我得到了不确定......为什么?

1 个答案:

答案 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可以阅读它。但是,在父作用域(您的控制器的作用域)中无法访问它。

希望我的解释清楚。