ng-repeat不显示数组中的项目

时间:2014-07-08 21:10:28

标签: angularjs angularjs-ng-repeat

我正在使用AngularJS而我正在尝试使用ng-repeat,但我无法让它发挥作用。

我的观点如下:

<a href="#" ng-click="addWidget('blaat')">Widget 1</a>

<div ng-repeat="widget in widgets">
    A: {{widget.url}}
</div>

我的控制器看起来像这样:

.controller('PageController', ['$scope', function($scope) {

    $scope.widgets = [];

    $scope.addWidget = function($widgetUrl) {
        $scope.widgets.push({
            url: $widgetUrl
        });

        console.log($scope.widgets);
    }
}])

当我按下href链接时,它应该向widgets数组添加一个项目,而ng-repeat应该选择该项目。但是,在我看来,我没有看到任何内容。

但我确实看到console.log正在向控制台打印正确的值。所以我的控制器功能正在工作。那我的ng-repeat没有显示任何内容吗?


您可以在此处查看我的演示:http://ngrepeat.byethost7.com/#/page

这是我重现它的唯一方法。 (如果您最初看到广告,则只需刷新页面。它是免费主机)

1 个答案:

答案 0 :(得分:3)

如果从锚点中删除href="#",则代码可以正常工作。哈希导致您的页面在每次单击时重新加载。如果页面导航实际上没有发生,请删除href="#"或者考虑将锚点更改为按钮。