angularjs – angular ui router state – 具有相同模板和控制器
发布时间:2020-12-17 07:29:03 所属栏目:安全 来源:网络整理
导读:我使用angular ui路由器状态提供程序在 angularjs应用程序中定义了以下状态.并且,我想用相同的配置定义多个状态,即.使用相同的模板和控制器. $stateProvider .state('parent',{ templateUrl: 'parent.html',abstract: true,parent: 'apm' }) .state('parent.
我使用angular ui路由器状态提供程序在
angularjs应用程序中定义了以下状态.并且,我想用相同的配置定义多个状态,即.使用相同的模板和控制器.
$stateProvider .state('parent',{ templateUrl: 'parent.html',abstract: true,parent: 'apm' }) .state('parent.list',{ abstract: true,url: '/list',templateUrl: 'list.html',controller: 'ListCtrl' }) .state('parent.list.closed',{ url: '/q',templateUrl: 'closed.html' }) .state('parent.list.details',{ // would like to have same template,controller on different state parent.details without list url: '/:id/:name',templateUrl: 'details.html',controller: 'DetailsCtrl',resolve: { ..... ..... } }) .state('parent.list.details.data',{ // would like to have same template,controller on different state parent.details.data without list url: '/details',views : { 'view1' : { templateUrl : 'view1.html' },'view2' : { templateUrl : 'view2.html',controller : 'View2Ctrl' },'view3' : { templateUrl : 'view3.html' },'view4' : { templateUrl : 'view4.html' } } }) 是否有可能做类似的事情 .state(['parent.list.details','parent.details'],{ url: '/:id/:name',resolve: { ..... ..... } }) 任何帮助或建议?
每个状态都需要在它自己的.state()方法中定义.您将尝试按照上面列出的方式遇到多个问题.最重要的是网址.
你可以这样做: .state('parent.list',{ url: '/list',resolve: { ..... ..... } .state('parent.list.details',{ url: '/:id/:name',resolve: { ..... ..... } }) 虽然代码在某种意义上不是浓缩或高效的,但您必须声明控制器并在每个状态上部分使用,这是必要的,因为每个状态都需要自己的.state()方法 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |