Javascript AngularJs指令链接功能可以';t访问属性
我在angularJS中返回了以下指令Javascript AngularJs指令链接功能可以';t访问属性,javascript,angularjs,angularjs-directive,Javascript,Angularjs,Angularjs Directive,我在angularJS中返回了以下指令 return { restrict: _restrict, link: function (scope, element, attrs) { $timeout(LinkPre, 0); //Calling a scoped method }, templateUrl: ConstrutorapiTemplatesChart,
return {
restrict: _restrict,
link: function (scope, element, attrs) {
$timeout(LinkPre, 0); //Calling a scoped method
},
templateUrl: ConstrutorapiTemplatesChart,
scope: "@",
controller: Controller
}
我的LinkPre函数是下面的函数
var LinkPre = function (scope, elem, attrs) {
attrs.$observe(_attrUrl, function (relatorio) {
if (relatorio != "") AoMudarUrl(scope, elem, relatorio);
});
}
我在LinkPre函数中得到一个错误,即属性未定义
无法读取未定义的属性“$observe”
有人知道为什么吗
Obs:我需要在呈现指令后执行链接函数首先,您需要将参数正确地传递给函数。 然后,如果您的函数是在关联的控制器中定义的,则需要在链接函数中添加控制器,并通过控制器引用调用该函数 尝试:
link: function (scope, element, attrs, myController) {
$timeout(myController.LinkPre.bind(this, scope, element, attrs));
}
这是因为您的LinkPre函数在被timeout调用时不会收到任何AGUENT,这也是为什么ATTR和所有参数都未定义的原因,您可以尝试以下操作:
$timeout(function() {
LinkPre(scope, elem, attrs);
});
也不需要结束零执行此操作时,将根据以下规则在rendernot之前调用func