element指令中的Angular.JS绑定属性

时间:2015-10-28 16:30:45

标签: angularjs angularjs-directive

我想要做的是创建一个元素指令,它可以具有可绑定的属性,并且可以使用静态值。

实施例。我有一个指令myTag应该支持某些功能的启用/禁用......我希望这个像

一样工作
<my-tag enable_f1="true" enable_f2="true" />

或喜欢

<my-tag enable_f1="{{mc.someVal1}}" enable_f2="{{mc.someVal2}}" />

现在我如何编写链接方法,以支持绑定到属性以及静态值?

 angular.module('TestModule',[])
  .directive('myTag',function() {
      return {
          restrict: 'E',
          templateUrl: '<div></div>',
          link: function (scope, element, attrs){
                 //I can get attrs.enable_f1, attrs.enable_f2, but what if it is bound to model? 
          }
      }
  });

1 个答案:

答案 0 :(得分:2)

您可以拥有一个获取这些值的隔离范围:

HTML:

<my-tag enable-f1="mc.someVal1" enable-f2="mc.someVal2"></my-tag>
<my-tag enable-f1="true" enable-f2="false"></my-tag>

指令:

myApp.directive('myTag',function() {
      return {
          restrict: 'E',
          template: '<div></div>',
          scope: {
              enableF1: '=',
              enableF2: '='
          },
          link: function (scope, element, attrs){
                 console.log(scope.enableF1);
                 console.log(scope.enableF2);
          }
      }
  });

Fiddle