Как изменить данные AngularJS вне области?

После нескольких часов разочаровывающих поисков я чувствую, что мне нужно представить свой вопрос здесь. Я заранее прошу прощения, если на этот вопрос как-то ответили раньше, но ни один из моих поисков не помог до сих пор. Итак, вот мой вопрос:

Мой код JavaScript создает объект, который изменяется и отслеживается AngularJS. В некоторых случаях (например, при загрузке предыдущей настройки объекта) я хочу изменить свойства этого объекта вне области видимости. Проблема в том, что входы не меняются ...

Вот пример того, как я хочу выполнить эти изменения:

HTML код:

<div ng-app="myApp" ng-controller="FirstCtrl">
<input type="number" ng-model="data.age">
<h1>{{data.age}}</h1>

<input type="button" value="Change to 20" ng-model="data" onclick="change()">

Код JavaScript:

var person = {
    age: 16
};

// Create module
var myApp = angular.module('myApp', []);
myApp.factory('Data', function() {
    return person;
});

function FirstCtrl($scope, Data) {
    $scope.data = Data;
}

function change() {
    person.age = 20;
}

Когда я сейчас нажимаю кнопку «Изменить на 20», ничего не происходит. Как я могу изменить возраст человека отchange функционировать?

Ответы на вопрос(6)

Ваш ответ на вопрос