Angularjs 如何在Angular.js中更新模型?

Angularjs 如何在Angular.js中更新模型?,angularjs,Angularjs,我能找到的所有文档都谈到视图自动更新模型。但是,使用示例控制器: var phonecatApp = angular.module('phonecatApp', []); phonecatApp.controller('PhoneListCtrl', function ($scope) { $scope.phones = [ {'name': 'Nexus S', 'snippet': 'Fast just got faster with Nexus S.',

我能找到的所有文档都谈到视图自动更新模型。但是,使用示例控制器:

var phonecatApp = angular.module('phonecatApp', []);

phonecatApp.controller('PhoneListCtrl', function ($scope) {
  $scope.phones = [
    {'name': 'Nexus S',
     'snippet': 'Fast just got faster with Nexus S.',
     'age': 1},
    {'name': 'Motorola XOOM™ with Wi-Fi',
     'snippet': 'The Next, Next Generation tablet.',
     'age': 2},
    {'name': 'MOTOROLA XOOM™',
     'snippet': 'The Next, Next Generation tablet.',
     'age': 3}
  ];

  $scope.orderProp = 'age';
});
在JavaScript中,我如何(例如)将手机更改为空数组?基本上我想做什么

$scope.phones = [];

(并自动更新视图)但我不知道如何“访问”phones变量

如果您只是尝试清空阵列,那么在该控制器内部添加一个清除阵列的函数。然后使用指令调用函数。例如:

JS:

HTML:

确实不清楚您想要什么,但我恳请您不要在不必要时使用
$scope.$apply()

以下是一个可以帮助您的plunkr:


它显示了
服务的实现以及如何使用它跨多个控制器访问数据、清除数据等。

您可以使用$scope.phones=[];javascript中的任何位置,您的视图都将自动更新。您是指从外部
$scope
还是什么?这太模糊了,连答案都答不上来。具体来说,你希望实现什么?在你的视图中定义一些东西,比如
空电话
,然后在控制器中定义clearPhones(),比如
$scope.clearPhones=function(){$scope.phones=[]}
-1,投票选出一个不好的答案作为正确答案,并忽略评论。谢谢你,我删除了我的答案。当然,很高兴为您服务。希望这个例子能激发一些想象力。
$scope.clearPhoneData = function() {
    $scope.phones.length = 0;
};
<div ng-click="clearPhoneData()">Clear</div>
$scope.$watch(function() {
    return phoneService.phones;
}, function(newData) {
    $scope.phones = newData;
});