我有这个HTML:
<div class="documentation-comment-view h100" ng-if="views.comment.selected">
<div ng-include="views.comment.templateUrl" class="h100"></div>
</div>
<div class="documentation-annotation-view h100" ng-if="views.annotation.selected">
<div ng-include="views.annotation.templateUrl" class="h100"></div>
</div>
<div class="documentation-localisation-view h100" ng-if="views.localization.selected">
<div ng-include="views.localization.templateUrl" class="h100"></div>
</div>
html内容根据变量的值而变化。
这是负责它的代码的一部分:
myService.myFunction(param).then(function (retData) {
//Do something here...
changeView(scope.views.comment);
});
我的问题在于承诺和这两个函数,我们假设这样做:
功能1:
function myFunction(param) {
var deferred = $q.defer();
//Do something...
deferred.resolve(retData);
return deferred.promise;
}
功能2:
function myFunction(param) {
return new Promise(function (resolve, reject) {
//Do something...
resolve(retData);
});
}
使用这两种功能中的任何一种都不会出现任何错误,并且两者都达到了changeView。但由于任何原因,使用函数2不会更改视图。它仅使用函数1。
任何帮助找到发生这种情况的原因?感谢。