不同状态不显示模板内容
Different states doesn't show template content
我有一个基本的 Index.html 文件,其结构如下:
<body class="{{$state.current.name.replace('.','-')}}">
<div ui-view>
<div ng-include src="'partials/menu.html'"></div>
<!-- <div ng-menu class="ui top blue sidebar menu active"></div> -->
<div class="view-height-100"></div>
</div>
...
</body>
当我处于登录状态时,它运行良好:
$stateProvider
.state('login', {
url: '/login',
templateUrl: 'partials/login-area.html',
controller: 'LoginController',
});
但是,当我路由到 user.management 状态时,没有显示任何内容(但是 Chrome 正在加载模板,所以我可以访问范围和 .html 文件在那里):
$stateProvider
.state('user', {
url: '/:buildingName',
controller: 'CurrentBuildingController',
data: {
access: ['user']
}
})
.state('user.management', {
url: '/management',
templateUrl: '/views/management.html',
controller: 'ManagementController'
})
Can someone explain me why?
Parent 状态简单 必须有目标 为它的 child (除非我们使用绝对命名来定位一些超级 parent, 但这是另一种方法)
.state('user', {
url: '/:buildingName',
template: "<div ui-view></div>",
controller: 'CurrentBuildingController',
data: {
access: ['user']
}
})
看到我们现在有 template: "<div ui-view></div>",
,它将作为任何 child 状态的视图目标 'user.xxx'
同时检查:
EXTEND - 让 child 指向 index.html
我们可以使用绝对命名,然后 child 将直接注入 index.html。有 a working plunker (故意 parent 不会加载,它没有任何模板)
.state('parent', {
url: "/parent",
//templateUrl: 'tpl.html',
})
.state('parent.child', {
url: "/child",
views: {
'@': {
templateUrl: 'tpl.html',
controller: 'ChildCtrl',
}
}
})
查看此以获取更多信息:
Angularjs ui-router not reaching child controller
我有一个基本的 Index.html 文件,其结构如下:
<body class="{{$state.current.name.replace('.','-')}}">
<div ui-view>
<div ng-include src="'partials/menu.html'"></div>
<!-- <div ng-menu class="ui top blue sidebar menu active"></div> -->
<div class="view-height-100"></div>
</div>
...
</body>
当我处于登录状态时,它运行良好:
$stateProvider
.state('login', {
url: '/login',
templateUrl: 'partials/login-area.html',
controller: 'LoginController',
});
但是,当我路由到 user.management 状态时,没有显示任何内容(但是 Chrome 正在加载模板,所以我可以访问范围和 .html 文件在那里):
$stateProvider
.state('user', {
url: '/:buildingName',
controller: 'CurrentBuildingController',
data: {
access: ['user']
}
})
.state('user.management', {
url: '/management',
templateUrl: '/views/management.html',
controller: 'ManagementController'
})
Can someone explain me why?
Parent 状态简单 必须有目标 为它的 child (除非我们使用绝对命名来定位一些超级 parent, 但这是另一种方法)
.state('user', {
url: '/:buildingName',
template: "<div ui-view></div>",
controller: 'CurrentBuildingController',
data: {
access: ['user']
}
})
看到我们现在有 template: "<div ui-view></div>",
,它将作为任何 child 状态的视图目标 'user.xxx'
同时检查:
EXTEND - 让 child 指向 index.html
我们可以使用绝对命名,然后 child 将直接注入 index.html。有 a working plunker (故意 parent 不会加载,它没有任何模板)
.state('parent', {
url: "/parent",
//templateUrl: 'tpl.html',
})
.state('parent.child', {
url: "/child",
views: {
'@': {
templateUrl: 'tpl.html',
controller: 'ChildCtrl',
}
}
})
查看此以获取更多信息: