[英]angular ui-router state how is controller being called
我看到人們在網上發布有關使用Angular ui-router的信息,我看到這些類型的代碼甚至都沒有明確顯示控制器名稱,所以怎么知道該怎么調用控制器呢?
state('new-rp', {
url: '/new/:portfolioId',
templateUrl: 'new.html',
controller: function($scope, $stateParams) {
$scope.portfolioId = $stateParams.portfolioId;
}
})
我嘗試過的我的代碼沒有像上面那樣列出控制器
.state("deviceDetail", {
url: "/devices/:DeviceId", // param is required which specific device id
templateUrl: "app/devices/deviceDetailView.html", // ui elements
controller: function($scope,$stateParams) {
$scope.DeviceId = $stateParams.DeviceId;
}
});
問題是控制器未命中
但是此代碼明確使用了控制器名稱,並且控制器被命中,因此,我無法確定這種類型的代碼將如何命中控制器
controller: function($scope,$stateParams) {
$scope.DeviceId = $stateParams.DeviceId;
}
它怎么知道? (對我不起作用)
您可以通過兩種方式在UI路由器狀態中聲明控制器:
//1
.state('new-rp', {
url: '/new/:portfolioId',
templateUrl: 'new.html',
controller: function($scope, $stateParams) {
$scope.portfolioId = $stateParams.portfolioId;
}
})
//2
.state('new-rp', {
url: '/new/:portfolioId',
templateUrl: 'new.html',
controller: PortfolioController
})
.
.
.
//PortfolioController definition
在方法#1中,為您內聯創建了控制器,而在方法#2中,UI Router正在尋找一個顯式聲明的控制器,名為PortfolioController
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.