Al Ex Tsm
Al Ex Tsm

Reputation: 2102

Directive that returns template needs scope variable

The template that loads content("html/script template") for each cell:

<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>

I need the directive to access the value "template" from its directive "plain-template"

Directive:

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

        console.log($parse(attrs.plainTemplate));
    }
  };
});

Upvotes: 0

Views: 32

Answers (1)

krish
krish

Reputation: 537

You can use something like

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

and when you call it in html your variable should be like

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

this is isolated scope. You can see more at https://docs.angularjs.org/guide/directive

Upvotes: 1

Related Questions