我有以下指令
.directive('showMessage',[function(){
return{
scope:true,
restrict:'E',
bindToController:{
sprop:"="
},
templateUrl:'Communicator/Views/showMessage.html',
controllerAs:"showMessCtrl",
controller:function($scope){
console.log(this.sprop);
}
}
}]);
我正在尝试将对象传递给sprop,就像这样
//base controller
$scope.mySplitterProp ={
orientation:"vertical",
collapsible:false,
max:"75%"
}
指令的调用就像这样
<show-message sprop="{{mySplitterProp}}"></show-message>
如果我使用sprop:“@”,这会在console.log中返回一个字符串(我需要对象) 如果我使用sprop:“=”(应该使用),我会收到类似
的错误[$解析:语法] http://errors.angularjs.org/1.4.5/ $解析/语法P0 =%7B&安培; P1 =无效%20key&安培; P2 = 2及P3 =%7B%7BmySplitterProp%7D%7D&安培; P4 =%7BmySplitterProp%7D%7D
我正在使用角度1.4
答案 0 :(得分:1)
{{mySplitterProp}}将用值替换变量,并且在使用双向绑定时不会将其传递给指令范围&#39; =&#39; (因为它希望表达式改变......)。删除花括号。