7

当我将项目推送到数组时,视图不会刷新列表。

桌子:

<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>

在控制器中提交产品:

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

如您所见,我记录了数组中的所有项目,它的行为与我预期的一样。唯一不符合我期望的是我的表格的内容,它没有显示新的价值。

我该怎么办,所以新行显示在表格中?

4

2 回答 2

5

我看不到您的其余代码,但请确保$scope.products在您的控制器中定义。

请参阅此示例

我对您提供的代码所做的唯一补充是:

$scope.products = [];

如果这没有帮助,请提供更多信息。

于 2013-05-16T14:27:03.667 回答
5

感谢您的回答和评论。问题出在另一个地方。在我的routeProvider我已经声明了一个控制器。我的 div 中也有一个ng-controller指令。所以我的控制器被执行了两次。当我删除ng-controller指令时,一切都正常工作:)

于 2013-05-17T11:46:43.930 回答