我可以在Angular中使用数据对象作为范围吗?

时间:2014-04-27 03:52:18

标签: angularjs

我的应用程序从服务器获取一个json对象我希望这个对象成为我的控制器的范围,而不必将其所有属性重新映射到范围的相同属性。我们有办法做到这一点吗?

1 个答案:

答案 0 :(得分:0)

即使你设法将它们一起破解,这也不会按你想要的方式工作,因此angular会将其作为范围接受。范围does more than just contain data,它还包含数据绑定等基本角度操作所需的功能(scope.$watch()scope.$apply()等。

您可以将数据存储为控制器范围内的变量:

$scope.jsonData = JSON.parse(yourJSONData);

然后您只需使用yourJSONData.someProperty而不是$scope.jsonData.someProperty访问它。您不必重新映射任何属性。

为您的模型添加一个额外的深度比在您自己的数据对象上重新创建类似$apply函数(例如)之类的东西要少得多,您需要为此定义你的模型和观点进行沟通。