在這種情況下,你可以使用resolve
:
.state('site', {
url: '/site/:site_id',
templateUrl: 'views/site_detail.html',
controller: 'SiteDetailController',
resolve: {
pageTitle: function($stateParams) {
return $stateParams.site_id;
}
}
);
然後,你的控制器看起來像:
app.controller('SiteDetailController', function($scope, pageTitle) {
console.log('pageTitle = ' + pageTitle);
});
Resolve是有用的,如果你打算根據檢索或處理數據在完成狀態改變之前的參數上。如果你只在參數值感興趣,那麼你就可以在你的控制器使用$stateParams
:
app.controller('SiteDetailController', function($scope, $stateParams) {
console.log('pageTitle = ' + $stateParams.site_id);
});
更新:Here is a CodePen with an example using both $stateParams
and resolve
.
<標題數據-NG-綁定=「$ state.current.data .pageTitle「>這就是我使用pageTitle的方式,它並沒有顯示在這裏。 – XkiD
data:{ pageTitle:function($ stateParams){ return $ stateParams.site_id; } },這也不起作用,它給了我
如果你只是想獲得參數,你可以在你的控制器中包含'$ stateParams'。然後你可以用下面的方法設置一個scope變量:'$ scope.pageTitle = $ stateParams.site_id;' – Corey