0
我有一個SPA Angular應用程序,它有兩個主要的html div。其中一種變化頻繁,另一種變化較少。頻繁變化的使用app.config中的$ route。不太經常更改的div也需要注意URL更改,所以我想要聽取$routeParamas
中的更改並相應地進行操作。
所以在我的控制,我有:
.controller('SecondaryCtrl', function ($scope, $routeParams, MyService) {
$scope.$watch('routeParams', function() {
console.log('routeParams: ', $routeParams);
// I need $routeParams.projectId to compose an API call.
});
...
});
在控制檯中,$routeParams
會返回一個空的對象。我知道,如果遙控器和路徑在App.config中定義的$routeParams
可用,但在app.config已經爲給定的路線,其鏈接到PrimaryCtrl
定義:
.config(function ($interpolateProvider, $routeProvider) {
$routeProvider
.when('/project/:projectId', {
templateUrl : 'partials/_project_detail.html',
controller: 'PrimaryCtrl',
resolve: {
project: function ($route, MyService) {
return MyService.get('projects/', $route.current.params.projectId);
},
}
})
那麼,如何才能當$routeParams
發生變化時,我可以訪問我的中的$routeParams
?
任何幫助非常讚賞
嗯。我試過這個,在函數中有一個console.log,我什麼都沒有。似乎它不是射擊? –
哦,其實它確實。我只需要確保我有一個路線(例如我的PrimaryCtrl)。 –