ng-change不起作用

时间:2017-07-24 13:29:59

标签: javascript angularjs arrays

我的代码不起作用,但它很简单,我从一个例子(http://www.tilcode.com/angularjs-infinite-list-tutorial/)中复制过来:

HTML:

<div class="form-group">
<label>Produtos: </label>
<div>
    <li data-ng-repeat="produto in prodPromocao track by $index">
        <input name="product" type="text" data-ng-model="prodPromocao[$index]" data-ng-change="addProd($index)" class="form-control">
        <a href="" data-ng-show="produto" data-ng-click="prodPromocao.splice($index,1)">
        [Remove]</a>
    </li>
</div>

控制器:

$scope.prodPromocao = [''];
var addProd = function (index) {
    console.log(index);
    if (index == $scope.prodPromocao.length - 1) {
        $scope.prodPromocao.push('');
    }
}

实际上,这个函数addProd甚至都没有被调用。

2 个答案:

答案 0 :(得分:1)

您的ng-change功能应在$scope

上定义
$scope.addProd = function (index) {
    console.log(index);
    if (index == $scope.prodPromocao.length - 1) {
        $scope.prodPromocao.push('');
    }
}

答案 1 :(得分:0)

$scope.prodPromocao = [''];
$scope.addProd = function (index) {
    console.log(index);
    if (index === $scope.prodPromocao.length - 1) {
        $scope.prodPromocao.push('');
    }
}