孤立的范围' ='传递一个字符串而不是该对象

时间:2015-10-13 07:03:35

标签: javascript angularjs angularjs-directive angularjs-scope

我试图将模型(Object)传递到指令的范围内,但它传递的是字符串而不是对象。

指令html。

<blabla obj="obj"></blabla>

指令:

.directive( 'blabla' , function(){
return {
    restrict : 'E',
    replace: 'true',
    scope :{
        obj : '=obj'
    },
    link : function(scope , elem , attrs){ console.log(attrs);
      scope.obj = attrs.obj;
    }
}})

然后在控制器中我有:

$scope.obj = { name : "obj"};

这就是我在控制台中获得的内容

obj: "obj"

我错过了什么吗?为什么渲染&#39; obj&#39;作为String而不是获取对象?如果我在页面上打印它可以正常工作,但它并不能将它传递给指令。

1 个答案:

答案 0 :(得分:3)

不要使用attrs.obj。 一旦运行链接功能,您应该已经对范围进行了obj