如何在angularjs中写一个指令

前端之家收集整理的这篇文章主要介绍了如何在angularjs中写一个指令前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我喜欢使用指令来制作一个自定义组件.我检查了很多教程,它让我感到困惑,任何人都可以解释一个指令的工作原理.我打算制作的组件是
<shout-list></shout-list>

喊叫列表的模板将是这样的

<div class="shout" ng-repeat="shout in shouts">
    <p>{{shout.message}}</p>
    <img src="media/images/delete.png" width="32" height="32" ng-click="deleteShout({{$index}},'{{shout._id}}')"/>
</div>
这是您的指令,有一些内联评论
angular.module( 'directives',[] ).directive( 'shoutList',function () {
  return {
    restrict: 'E',// allow as an element; the default is only an attribute
    scope: {       // create an isolate scope
      shouts: '='  // map the var in the shouts attribute to this scope
    },templateUrl: 'templates/shoutList.html',// load the template file
    controller: function ( $scope ) {
      // we declare a your function for use in the view
      $scope.deleteShout = function ( idx,id ) {
        // do whatever
      };
    }
  };
});

和模板文件

<div class="shout" ng-repeat="shout in shouts">
  <p>{{shout.message}}</p>
  <img src="media/images/delete.png" width="32" height="32" 
    ng-click="deleteShout({{$index}},'{{shout._id}}')" />
</div>

现在你可以在你的代码中使用它,就像这样:

控制器:

.controller( 'MainCtrl',function ( $scope ) {
  $scope.myShouts = // ...
});

视图:

<shout-list shouts="myShouts"></shout-list>

希望这可以帮助!

猜你在找的Angularjs相关文章