Атрибут связывания Angular.JS в директиве элемента

0

Я хочу создать директиву элементов, которая может иметь связываемые атрибуты и может работать со статическими значениями.

Ex. У меня есть директива myTag, которая должна поддерживать enablel/disable некоторых функций... Я хочу, чтобы это работало как

<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? 
          }
      }
  });
Теги:
angularjs-directive

1 ответ

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);
          }
      }
  });

скрипка

  • 0
    надеюсь, что когда-нибудь я буду использовать это, спасибо большое, попробую
  • 0
    Как я могу получить изменения enableF1 и enableF2? я должен использовать часы? например, когда он связан, и он был изменен в модели, как я могу получить уведомление в директиве? если я использую часы, будет ли это нормально, если значение является статическим?
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню