Fre*_*ind 11 angularjs angularjs-directive angularjs-scope
angularjs代码:
app.directive('test', function(){
return {
restrict: 'A',
scope: {
myId: '@'
},
link: function(scope) {
alert(scope.myId);
}
}
});
Run Code Online (Sandbox Code Playgroud)
你可以看到scope: { myId: '@' }
指令中有一个.
和HTML代码:
<div test my-id='123'></div>
Run Code Online (Sandbox Code Playgroud)
你可以看到我定义了一个my-id='123'
.
我希望该指令会提醒123
,但它会发出警报undefined
.我的错误在哪里?
PS:这是一个现场演示:http://plnkr.co/edit/sL69NqWC70Qfwav5feP2?p = preview
pko*_*rce 11
您需要$observe
属性(如http://docs.angularjs.org/guide/directive的"属性"部分中所述)以获取插值属性的正确值.
这是一个有效的插件:http://plnkr.co/edit/NtIHmdoO7IAEwE74ifB5?p = preview
这基本上是angularjs的重复:指令链接函数中的logging scope属性显示为undefined.还应该注意的是PR https://github.com/angular/angular.js/pull/1555最近被合并,你的plunker应该可以$observe
在未来版本的AngularJS中使用.
-
有问题的演示使用最新版本:1.1.3,您可以尝试(并将angularjs url更改为1.1.3).