У меня проблемы при использовании обещания-трекера.обещание-трекер в AngularJS
Я хочу отслеживать разговор. И часть моего кода заключается в следующем:
ЯШ:
angular.module('myModule', ['ajoslin.promise-tracker'])
.factory('Conversation', function (promiseTracker) {
return {
addMessage: function (opts) {
/* Post data to server */
var promise = POSTING DATA;
promiseTracker('message').addPromise(promise);
},
removeMessage: function (opts) {
/* Delete data */
}
}
})
.directive('newMessage', function (Conversation) {
return {
scope: true,
restrict: 'EA',
link: function (scope) {
scope.addMessage = function() {
Conversation.addMessage({ /* Some opts */ })
}
}
}
})
.directive('Tracker', function (promiseTracker) {
var opts = { /* Spinner opts */ }
return {
scope: true,
replace: true,
restrict: 'EA',
templateUrl: 'tracker.html',
link: function (scope, element, attrs) {
/* new spinner */
scope.tracker = promiseTracker(attrs.tracker);
/* And some thing */
}
}
})
нового message.html:
<form name="myForm" new-message>
<input type="text" name="content" />
<i tracker="message" ></i>
</form>
tracker.html:
<div>
<div>
<i ng-show="tracker.active()" ng-show="!isHidden"></i>
</div>
<input type="submit" value="submit" ng-click="addMessage()" ng-disabled="tracker.active()">
</div>
С помощью этого кода он хорошо работает, когда на странице есть ТОЛЬКО ОДНА форма.
НО, когда я добавляю больше формы в шаблон, у него есть некоторые проблемы.
При отслеживании обещания все показания спиннера!
И это то, что я хочу:
Я полагаю, что есть что-то не так в моей области. Но я не знаю, как это исправить.
Может ли кто-нибудь мне помочь? Thx!