使用Angular动态更改控制器中的对象

时间:2014-09-24 00:46:52

标签: javascript angularjs

我有以下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以便在其他代码中使用。

1 个答案:

答案 0 :(得分:0)

您可以直接绑定obj,因为它是一个可以通过引用跟踪的对象:

<body ng-controller="MainCtrl">
    <p>Hello {{obj.name}}!</p>
    <input type="text" ng-model="obj.name" />
</body>

$scope.obj = {
    "name": 'World'
}