Angular.js JSON没有在ng-repeat中显示

时间:2015-11-05 16:31:31

标签: json angularjs angularjs-ng-repeat

我有以下控制器代码:

angular.module("MyModule").controller("SideBarCtrl", function($scope, $mdSidenav) {

$scope.menu = [
{
  title: 'Dashboard',
},
// ... More items

但我无法使用ng-repeat在我的视图中显示项目。奇怪的是它做循环并制作div,但显示项目数据如:

      <md-item ng-repeat="item in menu">
      <a>
        <md-item-content md-ink-ripple layout="row" layout-align="start center">
          <div class="inset">{{item.title}} This text shows</div>
        </md-item-content>
      </a>
    </md-item>

只需生成硬编码文本。

我在身体上定义了控制器,如下所示:

<body layout="column" ng-app="MyModule" ng-controller="SideBarCtrl">

我不知道为什么它会循环但不能显示单独的JSON项目。

3 个答案:

答案 0 :(得分:1)

我认为问题可能是你构建角度控制器的方式。

&#13;
&#13;
<html ng-app="MyModule">
    <head>
        <title>StackOverflow test</title>
    </head>
    <body layout="column" ng-controller="SideBarCtrl">
        <h1>{{hi}}</h1>
        <md-item ng-repeat="item in menu">
          <a>
            <md-item-content md-ink-ripple layout="row" layout-align="start center">
              <div class="inset">{{item.title}} </div>
            </md-item-content>
          </a>
        </md-item>
        
        <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js"></script>
        <script>
            var app = angular.module('MyModule', []);

            app.controller('SideBarCtrl', ['$scope', '$mdSidenav'
              function($scope) {
                $scope.hi= "Welcome to this AngularJS test!";
                    $scope.menu = [
                        {
                          title: 'Dashboard'
                        },
                        {
                          title: 'Anything'
                        },
                        {
                          title: 'Something else'
                        }
                    ];
              }
            ]);
            
        </script>
    </body>
</html>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

您需要添加模块所依赖的模块数组,即使它是空的:

angular.module("MyModule", []).controller("SideBarCtrl", function($scope) {...

小提琴:http://jsfiddle.net/vvfnN/174/

答案 2 :(得分:0)

好的,我想出来了。该描述没有提到我使用Meteor这一事实。问题是我在索引文件中有侧边栏,并且在数据之前没有加载。我将它移动到视图中的ng-include,它工作正常。谢谢大家试图提供帮助!