AngularJS(1.x)指令:如何在模板中呈现局部变量,而不使其成为指令标记';s属性?

AngularJS(1.x)指令:如何在模板中呈现局部变量,而不使其成为指令标记';s属性?,angularjs,Angularjs,我想在AngularJS(1.x)中创建一个指令,将局部变量呈现到其模板中。不过,我不希望该变量映射到指令的属性 function myDirective($filter) { /** * Returns the directive definition object. * It is meant to be used as follows: * * <my-directive></my-directive> */

我想在AngularJS(1.x)中创建一个指令,将局部变量呈现到其模板中。不过,我不希望该变量映射到指令的属性

function myDirective($filter) {
    /**
     * Returns the directive definition object.
     * It is meant to be used as follows:
     *
     * <my-directive></my-directive>
     */
    return {
        restrict: 'E',
        scope: {local: '&'},
        template: "<div> {{ local }} </div>",
        link: function(scope, element, attrs) {
            scope.local = Math.random();
        }
    }
函数myDirective($filter){
/**
*返回指令定义对象。
*其用途如下:
*
* 
*/
返回{
限制:'E',
作用域:{local:'&'},
模板:“{local}}”,
链接:函数(范围、元素、属性){
scope.local=Math.random();
}
}
如您所见,我有一个变量,名为
local
,它的值不是作为指令的属性传递的,例如
。我希望它只是

我如何做到这一点


注意:到目前为止,我不想使用
controllerAs
/
bindToController
语法。

好的,删除
作用域:{local:'&},
。使用attrs:@JBNizet哦,这样我就可以将一个属性分配给作用域,而不必声明它了?谢谢,这是我需要的答案!我还建议在
链接
函数上使用
控制器:func
属性。虽然链接函数确实允许您访问作用域,但使用控制器I要干净得多n如果您实际上不关心另一个
元素,请阅读attr
参数。