gpt4 book ai didi

angularjs - 为什么我无法获取自定义指令的属性值?

转载 作者:行者123 更新时间:2023-12-04 02:07:53 25 4
gpt4 key购买 nike

angularjs 代码:

app.directive('test', function(){
return {
restrict: 'A',
scope: {
myId: '@'
},
link: function(scope) {
alert(scope.myId);
}
}
});

你可以看到有一个 scope: { myId: '@' }在指令中。

和 html 代码:
<div test my-id='123'></div>

你可以看到我定义了一个 my-id='123' .

我希望指令能提醒 123 ,但它警告 undefined .我的错误在哪里?

PS:这是一个现场演示: http://plnkr.co/edit/sL69NqWC70Qfwav5feP2?p=preview

最佳答案

您需要$observe属性(如 http://docs.angularjs.org/guide/directive 的“属性”部分所述)以获取内插属性的正确值。

这是一个有用的工具:http://plnkr.co/edit/NtIHmdoO7IAEwE74ifB5?p=preview

这基本上是 angularjs : logging scope property in directive link function displays undefined 的副本.还应注意的是,PR https://github.com/angular/angular.js/pull/1555最近被合并,你的plunker应该可以在不使用$observe的情况下工作在 AngularJS 的 future 版本中。

——

有问题的演示适用于最新版本:1.1.3,您可以尝试一下(并将angularjs url更改为1.1.3)。

关于angularjs - 为什么我无法获取自定义指令的属性值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15217461/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com