【发布时间】:2015-12-04 08:32:31
【问题描述】:
我的范围名称和城市中有两个属性。
如果我改变城市,它会反映在指令中。但是当我更改名称时,它并没有反映在指令中。我故意从 obj 对象传递名称,因为我正在尝试实现对象内部的数据绑定。
有人可以帮助如何在对象内绑定属性,以便数据绑定仍然有效。
我认为这是一定有问题的地方 $scope.obj = { prop: $scope.name };
var myApp = angular.module('myApp',[]);
myApp.directive('passObject', function() {
return {
restrict: 'E',
scope: { obj: '=', city: "=" },
template: '<div>Hello, {{obj.prop}}! from {{city}}</div>'
};
});
myApp.controller('MyCtrl', function ($scope) {
$scope.name="manu";
$scope.city = "hyderabad";
$scope.obj = { prop: $scope.name };
});
<div ng-controller="MyCtrl">
<h3>
Name: <input ng-model="name"/>
</h3>
<h3>
City: <input ng-model="city"/>
</h3>
<pass-object obj="obj" city="city"></pass-object>
</div>
【问题讨论】:
标签: angularjs data-binding directive