當我將項目推送到數組時,視圖不會刷新列表。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運行一個摘要循環,這會導致您的視圖更新。 –