Это первый раз, когда я пользуюсь функцией часов Angular и, по-видимому, я не могу заставить ее работать. У меня есть услуга под названием apiService
, которая имеет переменную myFile
. Я ввожу сервис в свой контроллер и хочу посмотреть значение apiService.myFile
для изменения. К сожалению, часы открывается только при открытии веб-страницы, а не при изменении переменной apiService.myFile
. Вот код для часов:Проблема с угловыми часами
$scope.$watch(function(){return apiService.myFile}, function (newVal, oldVal, scope) {
console.log("service changed: "+newVal +" : "+oldVal+" : "+ scope);
});
Почему не его называют, когда myFile
изменения?
UPDATE 1: это, как я обновить значение apiService.myFile
внутри службы
ApiService.prototype.uploadFile = function(fileContent) {
$.ajax({
url: "/space_uploadFile/",
type: "POST",
dataType: "json",
data: {
fileContent: fileContent
},
contentType: "application/json",
cache: false,
timeout: 5000,
complete: function() {
//called when complete
console.log('process complete');
},
success: function(data) {
this.myFile =data;
console.log("this.myFile: "+this.myFile);
console.log('process success');
},
error: function() {
console.log('process error');
},
});
};
попробуйте добавить 'true' в конец для глубокого просмотра'}, true); ' – cjmling
Каков ваш тип данных 'apiService.myFile'? –
@cjmling добавление true не помогло – suMi