1
使用promise-tracker时遇到问题。AngularJS中的promise-tracker
我想要的是跟踪对话。和我的代码部分如下:
JS:
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!