我有以下simple plunker
在其中您可以看到我正在尝试将范围变量绑定到对象的属性。
$scope.name = 'World';
var obj = {
"name":$scope.name
}
$scope.$watch('name', function(){
console.log(obj["name"]);
})
即使我更改了名称,console.log也会始终显示World。如何将此更改传播到obj?
这个问题是关于从其他一些方法(I.E.函数参数)中获取值,因为我必须实际更新obj以便在其他代码中使用。
答案 0 :(得分:0)
您可以直接绑定obj
,因为它是一个可以通过引用跟踪的对象:
<body ng-controller="MainCtrl">
<p>Hello {{obj.name}}!</p>
<input type="text" ng-model="obj.name" />
</body>
$scope.obj = {
"name": 'World'
}