HTML中的范围变量没有得到它的价值

时间:2016-06-27 17:06:52

标签: javascript angularjs

HTML code:
<section ng-controller="GalleryController as gallery" >
  <div photo-directive ng-repeat="photo in gallery.photos" ng-if="$index>=50*counter && $index<50*(counter+1)"></div>
</section>
<script src="js/controller.js"></script>

controller.js:

(function() {
  angular
    .module('myapp')  
    .controller('GalleryController', GalleryController);

  GalleryController.$inject = ['GalleryService'];

  function GalleryController(GalleryService){
     var self=this;
     self.counter=0;
  } 
})();

不要担心gallery.photos and photo-directive。我的问题是,当加载DOM而不是0时,计数器没有值。为什么?并且如何修复以使其从控制器中读取值?

2 个答案:

答案 0 :(得分:0)

控制器中的 $ scope 在哪里?你需要在控制器中添加$ scope.counter = 0而不是 this ,可以从视图中读取附加到$ scope的任何内容。

答案 1 :(得分:0)

您可以使用

来呼叫计数器
 gallery.counter