Директиве, которая возвращает шаблон, нужна переменная области видимости

0

Шаблон, который загружает контент ("html/script template") для каждой ячейки:

<td class="tableColumnsDocs" ng-repeat="attobj in columns track by $index" >
  <div ng-init="values = dbo.get4(attobj.key); key = attobj.key; template = attobj.template || getAttributeTemplate(dbo.clazz + attobj.key);">
      <div plain-template="template">
      </div>
  </div>
</td>

Мне нужна директива для доступа к значению "шаблон" из его директивы "простой шаблон",

Директива:

app.directive('plainTemplate', function($parse) {
  return {
    templateUrl: 'testTemplate',
    function (scope, element, attrs) {

        console.log($parse(attrs.plainTemplate));
    }
  };
});
Теги:
angularjs-scope
angularjs-directive

1 ответ

1
Лучший ответ

Вы можете использовать что-то вроде

app.directive('plainTemplate', function($parse) {
  return {
    templateUrl: 'testTemplate',
    scope: {
      plainTemplate:"=" 
    },
    link: function (scope, element, attrs) {
        console.log(scope.plainTemplate));
    }
  };
});

и когда вы вызываете его в html, ваша переменная должна быть похожа

<plain-template test-template="anything"> </plain-template>

это изолированная область. Вы можете увидеть больше на странице https://docs.angularjs.org/guide/directive

  • 0
    Круто, спасибо, но что, если изолированная переменная области видимости содержит templateUrl, могу ли я вернуть templateUrl после функции link?
  • 1
    Можно сделать что-то вроде этого: stackoverflow.com/questions/21835471/…

Ещё вопросы

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