如何在作用域之外更改AngularJS数据?

17 浏览
0 Comments

如何在作用域之外更改AngularJS数据?

经过几个小时的烦人搜索后,我觉得有必要在这里提交我的问题。如果这个问题已经被解答过,请提前原谅,但是我之前的搜索并没有帮助到我。所以这是我的问题:

我的JavaScript代码创建了一个对象,这个对象被AngularJS修改和监视。在某些事件(比如加载对象的先前设置)中,我希望从外部改变这个对象的属性。问题是输入框不会改变...

下面是我希望进行这些更改的示例:


HTML代码:


{{data.age}}


JavaScript代码:

var person = {
    age: 16
};
// 创建模块
var myApp = angular.module('myApp', []);
myApp.factory('Data', function() {
    return person;
});
function FirstCtrl($scope, Data) {
    $scope.data = Data;
}
function change() {
    person.age = 20;
}


当我点击"Change to 20"按钮时,什么都不会发生。如何从change函数中修改person的年龄呢?

0