加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – 指令应该与Angular JS中的控制器通信吗?

发布时间:2020-12-17 08:20:21 所属栏目:安全 来源:网络整理
导读:我一直在观看John Linquist的视频,他在一个视频中给出了这个例子: var app = angular.module('twitterApp',[])app.controller("AppCtrl",function ($scope) { $scope.loadMoreTweets = function () { alert("Loading tweets!"); }}app.directive("enter",fu
我一直在观看John Linquist的视频,他在一个视频中给出了这个例子:
var app = angular.module('twitterApp',[])

app.controller("AppCtrl",function ($scope) {
   $scope.loadMoreTweets = function () {
      alert("Loading tweets!");
   }
}

app.directive("enter",function() {
   return function (scope,element,attrs) {
      element.bind("mouseenter",function () {
         scope.LoadMoreTweets();
      })
   }
}

我想知道的一件事是,这个例子中的指令应该与控制器对话,还是创建服务然后让指令与服务对话是一种更好的编程习惯?我想我仍然不确定指令以这种方式与控制器通信是否是常见做法.

U tube video

我该怎么做
<span enter="loadMoreTweets()">Something</span>

JS

app.controller('AppController',function ($scope) {
   $scope.loadMoreTweets = function () {
      console.log("Loading tweets!");
   }  
})



app.directive("enter",function() {
   return {
     link: function (scope,attrs) {
       element.bind("mouseenter",function () {
          scope.$apply(attrs.enter)
       })
     }
   }
});

演示:Plunker

实现同样的另一种方式

app.directive("enter",function() {
   return {
    scope: {
      callback: '&enter'
    },link: function (scope,function () {
          scope.$apply('callback()')
       })
     }
   }
});

演示:Plunker

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读