下面的代碼在一個頁面中與不同的控制器一起工作,但是當我將值從一個頁面傳遞到另一個頁面時,scope.watch不起作用。你怎麼能這樣做?下面是我的代碼。
.factory('Data', function() {
var data = {
LastName: '',
}
return {
getLastName: function() {
return data.LastName;
},
setLastName: function (lastname) {
data.LastName = lastname;
}
}
}
//FIRST CONTROLLER
$scope.lastname = '';
$scope.$watch('lastname', function (newValue2, oldValue2) {
if (newValue2 !== oldValue2)
Data.setLastName(newValue2);
});
//GET FIRST CONTROLLER INTO SECOND
$scope.$watch(function() {
return Data.getLastName();
}, function (newValue2, oldValue2) {
if (newValue2 !== oldValue2)
$scope.lastname = newValue2;
});
//form
//Firstcontroller
< input type = "text"
name="lastname"
placeholder = "Suhr"
ng-model="lastname"
ng-minlength="3" required />
你有 '數據' 和 '數據',這是不一樣的東西。 – rrd
您忘記將第一個參數傳遞給$ watch,即var名稱。 – Matheus
對不起@rrd,現在檢查代碼,更新。你現在可以幫忙嗎? –