当用户单击我的应用程序中的按钮时,我尝试编译这样的指令并将被单击的文档(复杂的json对象)发送到该指令
$scope.displayBlah = function(event, document){
$scope.doc = document;
$(event.currentTarget.parentElement).prepend($compile('<show-blah mydata={{doc}}/>')($scope));
}
在指令代码内部,我想访问该对象上的各个属性,但只能显示整个对象,而不能使用点符号获取属性。例如,这显示了整个复杂对象
{{mydata}}
但我无法获得像这样的任何个人财产
{{mydata.property}}
这就是我要做的
myApp.directive('showBlah', function(){
return {
restrict: 'AE',
scope: {
mydata: '@'
}
replace: true,
template: <div class='root'>{{mydata}} {{mydata.property}}</div>,
link: ///code ommitted
问题:是否可以在像这样的指令中访问对象内部的属性?
{{mydata.property}}
您在@
此处的使用将输入值转换为字符串:
scope: {
mydata: '@'
}
这就解释了为什么{{mydata}}
可以工作(只显示一个字符串),却{{mydata.property}}
不能(字符串没有那个property
)。
使用=
代替(并{{ }}
在指令调用中省略)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句