我需要使用数组类型的角度js来观察输入字段?

时间:2016-01-11 05:51:30

标签: javascript angularjs

我想看这个字段的值

<input type="number" ng-model="table.fields[$index].item_count" class="form-control" name="item_count" ng-pattern="/^[0-9]/" placeholder="Category Item View Count" required>

并在手表中创建了这个

$scope.$watch('table.fields[$index].item_count', function(){
    console.log("newValue"+newValue);
    console.log("oldValue"+oldValue);
    });

以上似乎是正确的,但我在控制台上获得了udefined值。

3 个答案:

答案 0 :(得分:0)

试试这个。

current_user.mod_of_game?(@guide) unless current_user.nil?

答案 1 :(得分:0)

您在函数中缺少newValueoldValue个参数:

    $scope.$watch('table.fields[$index].item_count', function(newValue, oldValue){
    ...

答案 2 :(得分:0)

您可以使用不同的控制器进行ng-repeat部分以获得当前的列表范围。

HTML部分

<div ng-controller='mainController'>
    <div ng-repeat="field in table.fields" ng-controller="tableController">
        <input type="number" ng-model="field.item_count" 
        value = "{{field.item_count}}"class="form-control" name="item_count" ng-pattern="/^[0-9]/" 
        placeholder="Category Item View Count" required>
    </div>
</div>

角色部分

app.controller('mainController',function($scope){

$scope.table = {};
$scope.table.fields = [
    {item_count: 222 },
    {item_count: 454 },
    {item_count: 676 },
    {item_count: 344 },
    {item_count: 986 }
 ];
});

app.controller('tableController', function ($scope) {
$scope.$watch('field.item_count', function (newValue, oldValue) {
  console.log('newValue: ' + newValue);
  console.log('oldValue: ' + oldValue);
});});