Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AngularJS中的promise tracker_Angularjs_Angularjs Directive_Angularjs Scope_Promise_Tracker - Fatal编程技术网

AngularJS中的promise tracker

AngularJS中的promise tracker,angularjs,angularjs-directive,angularjs-scope,promise,tracker,Angularjs,Angularjs Directive,Angularjs Scope,Promise,Tracker,我在使用promise tracker时遇到问题 我想要的是追踪一段对话。我的部分代码如下: js: new-message.html: <form name="myForm" new-message> <input type="text" name="content" /> <i tracker="message" ></i> </form> tracker.html: <div> <

我在使用promise tracker时遇到问题

我想要的是追踪一段对话。我的部分代码如下:

js:


new-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>


使用这些代码,当页面中只有一个表单时,它可以很好地工作

但是当我在模板中添加更多表单时,它会出现一些问题

跟踪承诺时,所有微调器都会显示

这就是我想要的:

我想我的范围有问题。但我不知道如何修复它

有人能帮我吗?
谢谢

如果你想为你的应用程序显示加载微调器图形,你需要一个全局范围承诺跟踪器——一个直接从官方文档中摘取的例子:

angular.module('app', ['ajoslin.promise-tracker'])

.factory('myTracker', function (promiseTracker) {
  return promiseTracker();
})

.controller('AppCtrl', function ($rootScope, myTracker) {
  $rootScope.$watch(myTracker.active, function (isActive) {
    //doSomething()
  });
});
angular.module('app', ['ajoslin.promise-tracker'])

.factory('myTracker', function (promiseTracker) {
  return promiseTracker();
})

.controller('AppCtrl', function ($rootScope, myTracker) {
  $rootScope.$watch(myTracker.active, function (isActive) {
    //doSomething()
  });
});