我想從$ http調用加載templateurl。
$stateProvider
.state('home', {
url: '/',
templateUrl: will be served by $http call from server
});
請建議我將如何實現這一點。
我想從$ http調用加載templateurl。
$stateProvider
.state('home', {
url: '/',
templateUrl: will be served by $http call from server
});
請建議我將如何實現這一點。
角已經做了它。如果你想打電話給你的後端控制器請求JSP頁面templateurl最優雅的方式只需要調用$ HTTP URL這樣
.state('inbox', {
url: '/inbox',
templateUrl:'jspController/inboxRecord',
controller : 'inboxController'
})
該網址與迴應在我的情況下,jsp頁面將顯示inboxrecord.jsp。
爲templateUrl也可以是一個功能,你可以很容易地做到:
$stateProvider.state('home', {
templateUrl: function ($stateParams){
$http....success({
return <whatever> + '.html';
})
}
})
我會建議使用templateProvider
。這可能會消耗任何數量的IoC參數(包括當前的$ stateParams)。與$ templateRequest相結合,我們也可以很容易地從服務器獲取模板,並保持它的緩存:
.state('myState',
{
...
// instead of templateUrl
templateProvider: ['$templateRequest', '$stateParams',
function($templateRequest,$stateParams){
var pathToTemplate = '....html';
// get the proper path from any IoC injected here
return $templateRequest(pathToTemplate);
}],
檢查這些:
您將需要一個控制器來從結果中填充模板,並從模板綁定範圍值。
$stateProvider
.state('home', {
url: '/',
templateUrl: 'index.html',
resolve {
results: function($http){
return $http({method: 'GET', url: '/serverspi'})
.then (function (data) {
return process(data);
});
},
}
});
我用templateProvider(https://github.com/angular-ui/ui-router/wiki)和檢索包含我的模板JSON對象做這樣的事情:
templateProvider: function($http) {
return $http.get("http://example.com/returnJSONobject")
.then(function(res) {
return res.htmlTemplate;
});
},
建議你閱讀的模板UI路由器文檔https://github.com/angular- ui/ui-router/wiki#模板:) –