javascript - 尽管返回了 Promise,但 Angular Ui-Router TemplateProvider 从未被调用

标签 javascript angularjs angular-ui-router state

这个问题类似于:Angular ui-router templateProvider never called但就我而言,我正在返回一个 promise ,但它仍然不起作用。 xhr 请求永远不会被触发。

app.config(function($stateProvider, $urlRouterProvider){

      // For any unmatched url, send to /content
      $urlRouterProvider.otherwise("/content")

      $stateProvider.state('map1', {
           url: "/content/sectionI",
           templateProvider: function($http, $stateParams) {
            return $http({
              method: 'GET',
              url: '/contentMore',
              params: {request:"Section_I_Unlocked",part:"map"}
                }).then(function successCallback (html){
                    return html.data;
                });
            }
        });

    });

我做错了什么?当我点击状态 map1 时,我看到 url 发生了变化,但 templateProvider 从未触发?

最佳答案

a working plunker

我稍微调整了url路径(但主要是出于plunker的目的,不确定你的服务器是如何配置的),并且这个概念正在发挥作用:

  $stateProvider.state('map1', {
    url: "/content/sectionI",
    templateProvider: function($http, $stateParams) {
      return $http({
        method: 'GET',
        url: 'contentMore.html',
        params: {
          request: "Section_I_Unlocked",
          part: "map"
        }
      }).then(function successCallback(html) {
        return html.data;
      });
    }
  });

实际检查 here

还有更简单的方法来加载数据..结合 templateProvider$templateRequest:

Using templateRequest in angular + typescript ($templateRequest not a function)

Angular ui.router reload parent templateProvider

关于javascript - 尽管返回了 Promise,但 Angular Ui-Router TemplateProvider 从未被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37705265/

相关文章:

javascript - onmouseover 函数无需将鼠标悬停在元素上即可触发

javascript - AngularJS,在声明 ng-model 之前激活复选框

javascript - 无法在 Angular ui.router 中的子状态之间切换

javascript - 用户界面路由器 : Best way to initialize variables when state is accesed

javascript - 寻找罪魁祸首方法抛出 'undefined is not a function'

javascript - 搜索具有共同祖先的项目

AngularJS - ng-repeat 一次显示一项

javascript - Angularjs 仅在根状态下读取 $scope

javascript - 从解构数组创建对象的片段

AngularJS指令: Are we not supposed to use the suffix "start"?