无法访问指令内部对象的属性

BrainLikeADullPencil

当用户单击我的应用程序中的按钮时,我尝试编译这样的指令并将被单击的文档(复杂的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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章