将变量注入到隔离的指令范围

时间:2014-08-15 09:54:44

标签: angularjs angularjs-directive angularjs-scope

是否可以将外部作用域中的变量注入到指令的隔离范围而无需明确定义属性?

directive:
  scope:
    attr: '='

div(directive, attr="var1", inject-to-scope="someObject")

scope: true略有相似。

1 个答案:

答案 0 :(得分:0)

<强>可能的。

一个指令可以有自己的控制器,在那个指令中,你可以注入你喜欢的任何东西,使它可以在 指令的隔离范围内访问。 (不是 指令代码)

yourApp.directive('yourDirective', function(OUTSIDE) {
return {
       templateUrl: 'template.html',
       scope: {},
       controller: function($scope){
           $scope.outside = OUTSIDE
       }
    };
});

所以&#39; OUTSIDE&#39;可以是服务,不变,任何对象。 。 。
正常情况下,控制器定义的范围可以在模板中访问,如下所示:

<div>This box is isolated, but able to look {{outside}}</div>