在UI路由器中以抽象状态填充常见视图
Filling common views in abstract state in UI-Router
这会导致页面的页眉、页脚和内容块填充content.list
视图吗?
$stateProvider
.state('contacts', {
abstract: true,
url: '/contacts',
views: {
header: { templateUrl: 'admin/header.html'},
content: {
templateUrl: 'contacts.html',
controller: function($scope){
$scope.contacts = [{ id:0, name: "Alice" }, { id:1, name: "Bob" }];
}
},
footer: { templateUrl: 'admin/footer.html'}
}
})
.state('contacts.list', {
url: '/list',
templateUrl: 'contacts.list.html'
})
<!-- index.html -->
...
<div ui-view="header"></div>
<div ui-view="content"></div>
<div ui-view="footer"></div>
...
<!-- contacts.html -->
<h1>Contacts Page</h1>
<div ui-view></div>
<!-- contacts.list.html -->
<ul>
<li ng-repeat="person in contacts">
<a ng-href="#/contacts/{{person.id}}">{{person.name}}</a>
</li>
</ul>
是的,这会起作用。有一个正在工作的plunker。
父视图的$scope
(在状态"contacts"视图中定义为"content"的视图)及其范围将是原型继承的来源。
这意味着,它的属性将在子状态"contacts.list"中可用,因为它被注入到"内容"视图中
还有更多关于它的详细信息:
如何在angularjs-ui路由器中的状态之间共享$scope数据
为了证明这一点,我们可以用列表控制器扩展上面的代码片段,并注入更多的联系人
...
.state('contacts.list', {
url: '/list',
templateUrl: 'contacts.list.html',
controller: 'listCtrl', // new controller
})
}
])
// we get already initiated contacts... coming from parent view
.controller('listCtrl', ['$scope', function($scope) {
$scope.contacts
.push({ id: 2, name: "from a child" });
}])
在此处检查
相关文章:
- 如何设置html元素填充的动画
- 如何使用jquery在填充自动完成的值后使文本框只读
- 如何通过ajax刷新JSF填充的javascript变量
- 事件和状态
- 获取选择框的状态
- 用与线条相同的颜色填充多折线图上的点
- 在UI路由器中以抽象状态填充常见视图
- 无法使用国家/地区选择中的状态动态填充下拉列表
- 如何禁用typeahead:在远程typeahead.js中聚焦已填充的文本字段时处于活动状态
- 保持提交按钮处于禁用状态,直到填充动态创建的必填字段
- 如何使用 Reactjs 用组件的状态填充模态表单
- Highcharts 图形默认系列填充颜色覆盖状态填充颜色(包括 jsfiddle)
- Jquery/AJAX 填充的 HTML 表单(当下拉列表处于选中状态时)
- 以程序方式设置时,未在视图模型中填充选中状态
- IE7,8悬停状态不工作时,使用下划线模板填充html
- React Native:不使用状态填充表单(无状态表单)
- 我怎么能隐藏形式字段(城市& quot;状态),直到zip被填充
- ReactJS-如何从通过获取数据填充的道具中正确初始化状态
- 从国际电话输入插件Javascript中选择后填充状态下拉框
- 使用ASP.NET AJAX填充列表后更新视图状态