这个问题类似于: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 从未触发?
最佳答案
我稍微调整了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/