AngularJs: ui.router 没有加载控制器
AngularJs: ui.router does not loading controller
我会尝试将 AngularJs 与 ui.router 一起使用,但遇到了麻烦。
这个例子有三种状态:索引、模板和template.show
$stateProvider
.state('/', {
url: '',
template: '<a ui-sref="template">GoTo Template Index</a>'
})
.state('template', {
url: 'template',
templateUrl: 'template_index.html',
controller: 'TemplateCtrl'
})
.state('template.show', {
url: '/{templateId:[0-9]+}',
templateUrl: 'template_show.html',
controller: 'TemplateShowCtrl'
})
请看 plunker: http://plnkr.co/edit/prluQs9vXeJw9IVi2JYW?p=info
但只有两个第一状态起作用。状态 "template.show" 正在更改,加载模板,但 不执行 TemplateShowCtrl 并且 不更新 ui- 查看新模板。
可以看到screenshot
任何子状态都需要在其父状态中存在后续 ui-view
指令,以便它知道在何处插入 html。目前,template_index.html
标记中没有一个。
它应该看起来类似于:
<ul>
<li ng-repeat="t in templates">
<a ui-sref="template.show({templateId:t.id})" href='#'>
{{t.name}}
</a>
</li>
</ul>
<!-- target element -->
<ui-view></ui-view>
我会尝试将 AngularJs 与 ui.router 一起使用,但遇到了麻烦。
这个例子有三种状态:索引、模板和template.show
$stateProvider
.state('/', {
url: '',
template: '<a ui-sref="template">GoTo Template Index</a>'
})
.state('template', {
url: 'template',
templateUrl: 'template_index.html',
controller: 'TemplateCtrl'
})
.state('template.show', {
url: '/{templateId:[0-9]+}',
templateUrl: 'template_show.html',
controller: 'TemplateShowCtrl'
})
请看 plunker: http://plnkr.co/edit/prluQs9vXeJw9IVi2JYW?p=info
但只有两个第一状态起作用。状态 "template.show" 正在更改,加载模板,但 不执行 TemplateShowCtrl 并且 不更新 ui- 查看新模板。
可以看到screenshot
任何子状态都需要在其父状态中存在后续 ui-view
指令,以便它知道在何处插入 html。目前,template_index.html
标记中没有一个。
它应该看起来类似于:
<ul>
<li ng-repeat="t in templates">
<a ui-sref="template.show({templateId:t.id})" href='#'>
{{t.name}}
</a>
</li>
</ul>
<!-- target element -->
<ui-view></ui-view>