我试图重构我们当前的布局,以在页面上的标题上方添加动态显示/隐藏部分。我们使用ui-router使用Angularjs 1.4.2,目前我们正在使用单独的路由文件,尽管我们有一个主要路由。到目前为止,屏幕的main.html部分是动态内容的唯一部分。为了让我的新路线起作用,我不得不将它添加到每条现有路线中。如何在ui-router中设置具有解析和嵌套状态的父/子?
我的问题是,一个更好的设计是沿着这条单行父路线来处理决议,动态主内容的嵌套状态和我的新路线和内容的新视图?随着应用程序的增长,您是否仍然继续将新路线放入父路线中,还是有更好的方法来组织它,就像我们对单个路线文件或两者的组合一样?
这就是我想要的,但它不工作还没有,因为我得到一个空白页,但设计与应用未来的发展是什么,我试图让这里:
(function() {
'use strict';
angular
.module('myApp')
.config(config);
config.$inject = ['$stateProvider'];
/* @ngInject */
function config($stateProvider) {
$stateProvider
.state('root', {
template: '<ui-view></ui-view>',
abstract: true,
resolve:{
myLoader: ['myLoader', function(myLoader){
// $http returns a promise for the url data
return myLoader.load();
}]
}
}
.state('main'), {
url: '/?param1¶m2¶m3¶m4',
templateUrl: 'app/routes/main/main.html',
controller: 'MainCtrl',
redirectTo: 'main'
})
$stateProvider
.state('basicsearch', {
url: '/basic-search',
templateUrl: 'app/routes/basicsearch/basicsearch.html',
controller: 'searchQuickCtrl'
})
$stateProvider
.state('advancedsearch', {
url: '/advaned-search',
templateUrl: 'app/routes/advancedsearch/advancedsearch.html',
controller: 'advancedSearchkCtrl'
})
$stateProvider
.state('anothersearch', {
url: '/another-search',
templateUrl: 'app/routes/anothersearch/anothersearch.html',
controller: 'anotherSearchCtrl'
})
.state('myChange', {
url: '/myChange?param5¶m6¶m7¶m8',
views: {
"myChangeView": {
templateUrl: '/app/routes/myChange/myChange.html',
controller: 'myChangeCtrl'
}
}
});
}
})();
你能创建一个plunker?目前还不清楚什么不适合你。 UI-Router在最后并不复杂...... –
也许不适合你,但我是新手!让我尝试。 –
我可以协助,但不知道你想要去哪个方向... –