Ui-路由器父状态,子状态控制器
Ui-router parent state, child states controllers
我正在尝试创建一个默认情况下应该转到子状态的父状态。
我需要能够拥有一个 parentController 和 ChildController。
我尝试了以下操作,但如您所见,我的 childControllers 没有被调用。
var app = angular.module('test', ['ui.router']);
app.config(config);
app.controller('ParentCtrl', ['$scope', function ($scope) {
console.log('parentCtrl');
}]);
app.controller('Child1Ctrl', ['$scope', function ($scope) {
console.log('Child1Ctrl');
}]);
app.controller('Child2Ctrl', ['$scope', function ($scope) {
console.log('Child2Ctrl');
}]);
状态:
function config($stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise('/parent');
$stateProvider.state('parent', {
abstract: true,
views: {
'main': {
controller: 'ParentCtrl',
controllerAs: 'parentCtrl',
templateUrl: 'page.html'
}
},
url: '/parent/'
});
$stateProvider.state('parent.child1', {
views: {
'main': {
controller: 'Child1Ctrl',
controllerAs: 'child1Ctrl',
templateUrl: 'page.html'
}
},
url: 'child1?param1',
});
$stateProvider.state('parent.child2', {
views: {
'main': {
controller: 'Child2Ctrl',
controllerAs: 'child2Ctrl',
templateUrl: 'page.html'
}
},
url: 'child2?param2', //is this /parent/child2... ?
});
}
您也可以在这里找到代码:https://jsfiddle.net/vjgh8ntL/2/
有人可以指导我正确的方向吗?
在这种情况下我会使用不同的方式:
$urlRouterProvider.otherwise('/parent/child1?child1=null');
勾选这个working example
有类似的问答(甚至不同的解决方案,例如.when()
设置):
- Angular UI-Router $urlRouterProvider .when not working when I click <a ui-sref="...">
我正在尝试创建一个默认情况下应该转到子状态的父状态。 我需要能够拥有一个 parentController 和 ChildController。 我尝试了以下操作,但如您所见,我的 childControllers 没有被调用。
var app = angular.module('test', ['ui.router']);
app.config(config);
app.controller('ParentCtrl', ['$scope', function ($scope) {
console.log('parentCtrl');
}]);
app.controller('Child1Ctrl', ['$scope', function ($scope) {
console.log('Child1Ctrl');
}]);
app.controller('Child2Ctrl', ['$scope', function ($scope) {
console.log('Child2Ctrl');
}]);
状态:
function config($stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise('/parent');
$stateProvider.state('parent', {
abstract: true,
views: {
'main': {
controller: 'ParentCtrl',
controllerAs: 'parentCtrl',
templateUrl: 'page.html'
}
},
url: '/parent/'
});
$stateProvider.state('parent.child1', {
views: {
'main': {
controller: 'Child1Ctrl',
controllerAs: 'child1Ctrl',
templateUrl: 'page.html'
}
},
url: 'child1?param1',
});
$stateProvider.state('parent.child2', {
views: {
'main': {
controller: 'Child2Ctrl',
controllerAs: 'child2Ctrl',
templateUrl: 'page.html'
}
},
url: 'child2?param2', //is this /parent/child2... ?
});
}
您也可以在这里找到代码:https://jsfiddle.net/vjgh8ntL/2/
有人可以指导我正确的方向吗?
在这种情况下我会使用不同的方式:
$urlRouterProvider.otherwise('/parent/child1?child1=null');
勾选这个working example
有类似的问答(甚至不同的解决方案,例如.when()
设置):
- Angular UI-Router $urlRouterProvider .when not working when I click <a ui-sref="...">