这段代码只是我整理的测试,所以我可以理解逻辑。 基本上我想要发生的是获取传递给指令的值。基于该值,我想向范围添加几个属性。
第一个测试只是更新已经传入的属性。
指令:
angular.module('bd.common')
.directive('bdPopoverLegend', function () {
return {
restrict: 'AE',
replace: true,
scope: {
legendInfo: '=info'
},
templateUrl: '/bd/common/ctl/bdPopoverLegend.html',
link: function (scope, element, attrs) {
scope.legendInfo.test = 'hello world 4';
}
};
});
模板:
<div>{{legendInfo.test}}</div>
致电指令:
<div bd-popover-legend="" info="{test: 'hello world 3'}">
价值永远不会改变,它仍然是“你好世界3”。而不是&#39; hello world 4&#39;
答案 0 :(得分:1)
试试这个:
.directive('bdPopoverLegend', function () {
return {
restrict: 'AE',
replace: true,
scope: {
legendInfo: '=info'
},
templateUrl: '/bd/common/ctl/bdPopoverLegend.html',
link: function (scope, element, attrs) {
scope.$watch('legendInfo', function (watchInfo) {
watchInfo.test = 'hello world 4';
});
}
};
});