我有州
.state('main', {
url: '/',
template: '<div ui-view=""></div>'
})
.state('main.header', {
url: 'header',
templateUrl: 'modules/core/views/header.html'
})
.state('main.header.sidemenu', {
url: '/sidemenu',
templateUrl: 'modules/admin/views/adminsidemenu.html'
})
.state('main.header.sidemenu.businesslist', {
url: '^/business/businesslist',
templateUrl:'modules/business/views/business.list.view.html',
})
.state('main.header.sidemenu.tabs', {
url: '',
templateUrl:'modules/business/views/tabs.business.view.html',
})
.state('main.header.sidemenu.tabs.profile', {
url: '^/business/profile',
templateUrl:'modules/business/views/tabs.business.view.html',
})
mytml中的html代码 - &gt; main.header.sidemenu.tabs.profile - &gt;模板
<li>
<a href="javascript:void(0)"
ui-sref="main.header.sidemenu.businesslist">XXXXX</a>
</li>
当我点击锚点
时,它会抛出错误无法从状态 - &gt; main.header.sidemenu.tabs 解析'branchUrl'如何解决这个问题。 你能帮帮我吗?
答案 0 :(得分:0)
如果未定义branchUrl
状态,则会发生此错误。请检查state
配置,确保branchUrl
在那里。
答案 1 :(得分:0)
这种错误通常意味着,(js)代码的某些部分未加载。 ui-sref内部的状态缺失。您不需要指定父级,状态以面向文档的方式工作,而不是指定parent:main,您只需将状态更改为main.header
.config(function($stateProvider, $urlRouterProvider){
$urlRouterProvider.otherwise("/main.html");
$stateProvider.state('app', {
abstract: true,
templateUrl: "url"
});
$stateProvider.state('main', {
url: '/main',
templateUrl: "url1"
});
$stateProvider.state('main.header', {
url: '/main/header',
templateUrl: "url2"
});
$stateProvider.state('main.header.sidemenu', {
url: "/main/header/sidemenu",
templateUrl: "url 3"
});
$stateProvider.state('main.header.sidemenu.businesslist', {
url: "/main/header/sidemenu/businesslist",
templateUrl: "url 4"
});
对于深度嵌套,您需要定义所有状态。希望它会帮助你