我在指令模板中使用了角度1.3的一次性绑定。该指令具有独立的范围,并根据所选对象呈现不同的数据。我的问题是,当我更改所选对象时,一次绑定的属性不会更新。
我想这可能是预期的行为。我的问题是,我可以以某种方式使指令模板更新也是一次绑定属性,但不能让它们被监视吗?
我附上一名说明问题的傻瓜:
http://plnkr.co/edit/NAHVfhCf6RhpJHPGl7El?p=preview
代码: 使用Javascript:
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope) {
$scope.objects = [
{ name: 'Object1', type: 'Type1' },
{ name: 'Object2', type: 'Type2' }
];
$scope.selectedObject = $scope.objects[0] ;
$scope.setSelected = function () {
if($scope.selectedObject == $scope.objects[0]) {
$scope.selectedObject = $scope.objects[1];
} else {
$scope.selectedObject = $scope.objects[0];
}
}
});
app.directive('sidebar',function() {
return {
scope: {
'selected': '=selected',
},
restrict: 'A',
template: 'Name: {{selected.name}}</span><br>Type: <span>{{::selected.type}}</span>',
};
});
HTML:
<body ng-controller="MainCtrl">
<button ng-click="setSelected()">Change selected</button>
<div sidebar selected="selectedObject"></div>
</body>