AngularJs (指令与控制器)

我们实现一个方法,这个公用的方法保存在控制器(controller)里面, 我们在指令(directive) 里面的mouseover() 方法里面调用 loadMore() 方法。
示例:
/--HTML code--/
<div ng-app="twitterApp">
  <div ng-controller="AppCtrl">
    <div enter>
      Roll over to load more twitters
    </div>
  </div>
</div>
/--javascript code--/
var app = angular.module("twitterApp",[]);
app.controller("AppCtrl",function($scope){
  $scope.loadMore = function(){
    alert("1");
  }
});
app.directive("enter",function(){
  return function(scope,element,attrs){
    element.bind("mouseenter",function(){
      scope.loadMore();
      scope.$apply("loadMore()");   // 也可用这个 $apply() 方法进行调用。
    });
  }
})

 这样通过指令调用控制器的 loadMore() 方法。来调出alert() 方法。

posted @ 2014-09-23 16:11  加油小猪2015  阅读(212)  评论(0)    收藏  举报