Angular JS:无法显示无序列表元素

时间:2017-03-04 03:46:49

标签: javascript angularjs

我尝试使用控制器和视图页面创建无序列表。请找到下面的控制器:

(function() {
  'use strict';

  angular
    .module('app.sdb')
    .controller('SdbController', SdbController)

  SdbController.$inject = ['logger'];
  /* @ngInject */
  function SdbController(logger) {
    var vm = this;
    vm.models = {
      selected: null,
      lists: {"A": [], "B": []}
    };

    for(var i=1;i<=3;i++) {
      vm.models.lists.A.push({label: "Item A" + i});
      vm.models.lists.B.push({label: "Item B" + i});

    }

    activate();

    function activate() {
      vm.title = 'Safe Digital Board';
      logger.info('Activation', 'Sdb Controller', 'Template Rendered');
    }
  }
})();

请在下面找到标记:

<div>
<ul>
  <li ng-repeat="item in vm.models"> Hello {{item.label}} </li>

</ul>
</div>

但我只得到以下的O / P:

  • 你好
  • 你好

寻求帮助......请告知

2 个答案:

答案 0 :(得分:1)

问题在于您的模型对象。你的ng-repeat应该是ng-repeat="item in vm.models.lists.A" 请找到有效的plunker

  <div>
    <ul>
      <li ng-repeat="item in vm.models.lists.A"> Hello {{item.label}} </li>
    </ul>
  </div>

要显示两个列表,您需要编写模板,如下所示:

  <div>
    <ul ng-repeat="items in vm.models.lists">
      <li ng-repeat="item in items"> Hello {{item.label}} </li>
    </ul>
  </div>

答案 1 :(得分:0)

尝试使用$ scope并为$ scope.vm.models创建一个数组,如:

case