当我将项目推送到数组时,视图不会刷新列表。Angular:将项目推送到列表不会更新视图
表:
<tbody id="productRows">
<tr data-ng-repeat="product in products | filter: search">
<td>{{ product.Code}}</td>
<td colspan="8">{{ product.Name}}</td>
</tr>
</tbody>
形式:在控制器
<form data-ng-submit="submitProduct()">
Code:
<br />
<input type="text" required data-ng-model="product.Code"/>
<br />
<br />
Naam:
<br />
<input type="text" required data-ng-model="product.Name"/>
<br />
<input type="submit" value="Opslaan" />
</form>
submitProduct:
$scope.submitProduct = function() {
console.log('before: ' + $scope.products.length);
$scope.products.push({Code: $scope.product.Code, Name: $scope.product.Name});
console.log('after:' + $scope.products.length);
console.log($scope.products);
$scope.showOverlay = false;
};
正如你所看到的,我登录数组中的全部项目和它的行为像我会期待的。唯一不符合我期望的是我的表格的内容,并没有显示新的价值。
我必须做什么,所以新的行显示在表中?
看起来像它应该工作。请添加jsfiddle或plnkr。 –
这个[plnkr](http://plnkr.co/edit/UXvtEhNbiilRn6DjX93P?p=preview)与你的代码工作正常吗?你正确定义$ scope.products吗? –
什么代码调用'submitProduct()'?如果此代码运行在Angular的“outside”外部,则需要在submitProduct()方法的末尾调用'$ scope。$ apply()',以使Angular运行一个摘要循环,这会导致您的视图更新。 –