我想有多个布局(1-col,2-col,3-col),我想根据所需的布局切换到不同的路线。
我目前有一个根状态,默认情况下使用某种布局,然后在该布局中包含用于标题(如页眉,页脚,边栏等)的ui-view指令。
我只是想知道是否有可能更改嵌套状态的布局,因为它目前不起作用,并且控制台或linter中没有出现错误。
我目前在浏览器中完全没有输出,这使我认为我实现了错误的方法,因为所有路由都没有从路由状态继承。
这是代码:
My-module.js
'use strict';
angular.module('my-module', ['ngResource', 'ui.router'])
// Routing for the app.
.config(function ($stateProvider, $urlRouterProvider) {
$stateProvider
.state('root', {
url: '',
views: {
'layout': {
templateUrl: 'partials/layout/1-column.html'
},
'header': {
templateUrl: 'partials/layout/sections/header.html'
},
'footer': {
templateUrl: 'partials/layout/sections/footer.html'
}
}
})
.state('root.home', {
url: '/'
})
.state('root.signup', {
url: '/signup',
views: {
'step-breadcrumb': {
templateUrl: 'partials/signup/step-breadcrumb.html'
}
}
})
;
$urlRouterProvider.otherwise('/');
})
;
Index.html
<!doctype html>
<html class="no-js" ng-app="my-module">
<head>
<meta charset="utf-8">
<title>My Test App</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width">
<!-- build:css({.tmp,app}) styles/main.css -->
<link rel="stylesheet" href="styles/main.css">
<!-- endbuild -->
<!-- build:js scripts/modernizr.js -->
<script src="bower_components/modernizr/modernizr.js"></script>
<!-- endbuild -->
</head>
<body>
<div ui-view="layout">
</div>
<!-- build:js({app,.tmp}) scripts/vendor.js -->
<script src="bower_components/angular/angular.js"></script>
<script src="bower_components/angular-resource/angular-resource.js"></script>
<script src="bower_components/angular-ui-router/release/angular-ui-router.js"></script>
<!-- endbuild -->
<script src="scripts/config.js"></script>
<!-- build:js({app,.tmp}) scripts/main.js -->
<script src="scripts/my-module.js"></script>
<!-- inject:partials -->
<!-- endinject -->
<!-- endbuild -->
</body>
</html>
1-column.html
<div class="one-column">
<!-- page header -->
<div ui-view="header">
</div>
<!-- / page header -->
<!-- state breadcrumb (optional) -->
<div ui-view="step-breadcrumb">
</div>
<!-- / state breadcrumb -->
<!-- page-container -->
<div class="page-container">
<!-- main content -->
<div ui-view="main-content">
</div>
<!-- / main content -->
</div>
<!-- / page-container -->
<!-- page footer -->
<div ui-view="footer">
</div>
<!-- / page footer -->
</div>
感谢帮助
虽然没有显示您的示例的小插曲,但我将与您分享一个示例:有效的布局示例。请观察它,以了解我将在此处尝试解释的内容
如果我们的root
状态应该是注入到中的唯一根状态index.html
,那么我们确实需要一些不同的定义:
所以对于index.html
// index.html
<body>
<div ui-view="layout">
</div>
</body>
我们将需要以下语法:
$stateProvider
.state('root', {
url: '',
views: {
'layout': {
templateUrl: 'partials/layout/1-column.html'
},
'header@root': {
templateUrl: 'partials/layout/sections/header.html'
},
'footer@root': {
templateUrl: 'partials/layout/sections/footer.html'
}
}
})
这是 'header@root'
什么 这是绝对的命名。在这里检查:
在幕后,每个视图都被分配一个遵循方案的绝对名称
'viewname@statename'
,其中viewname是view指令中使用的名称,状态名称是该状态的绝对名称,例如contact.item。您还可以选择以绝对语法编写视图名称。
其他状态定义也是如此。因为’root.signup’具有直接父级’root’,所以现有语法可以正常工作
.state('root.signup', {
url: '/signup',
views: {
'step-breadcrumb': { // working AS IS
...
但是我们可以使用绝对命名,它也可以正常工作
.state('root.signup', {
url: '/signup',
views: {
'step-breadcrumb@root': { // absolute naming
...
因为无论如何这就是它的工作原理。
请查看布局示例以了解更多详细信息
我正在尝试添加具有线性布局的背景图像作为根布局[Look hierarchy diagram for reference.]我曾尝试使用相对布局作为根布局,但它与嵌套的线性布局重叠。当线性布局作为根布局时,它只显示在底部。 XML代码 查看层次结构图
我有一个嵌套的布局,如下所示: 我现在遇到的问题是,由于我所有的数据项都在子1或子2中,如果我添加或删除一个项,子Linearlayout将以animateLayoutChanges的效果设置动画,但父布局将不做任何动画。(对于所有线性布局,我将设置为)。尤其是当我删除子1中的一个项目时,动画效果会变得奇怪(基本上,当子1仍在制作动画时,子2会跳起来)。 有人知道怎么解决这个问题吗? 谢谢 更新
再次强调,在绑定的ViewHolder中,如果我开始在嵌套的RecycerView之外的任何其他项上滚动,滚动工作很好。但是,如果我在嵌套的RecycerView上开始滚动,那么它就会中断。 是否可以防止内部RecycerView上的滚动拦截,只让父级滚动?但是,我希望内部的RecycerView仍然可以处理点击。 以下是关于这种现象的YouTube链接:https://youtu.be/fzj7
我必须创建一个包含表和嵌套表的文档。当将嵌套表添加到具有固定宽度的列(在我的示例中,这是第一列,宽度为150pt)时,嵌套表看起来与预期一样(第一列auto,第二列70pt)。但是,如果我将相同的嵌套表添加到一个应该自动调整宽度的列中,嵌套表的列似乎也会更改为auto。是不是我错过了什么? 嵌套表示例 生成此示例的代码如下所示
问题内容: 我的布局基本上全部统一,其中包含应用程序主供稿所需的所有内容。首先将所有可变项(图像,视频缩略图等等)设置为,并在需要时设置为。 问题是,有时,可能是由于的回收行为,这是supposedto是该项目是在错误的地方。 范例: 项目1包含文字 项目2包含图片 项目3包含图片 我一直向下滚动到编号x,然后向上滚动,这就是我得到的: 项目1包含来自项目x的图片,有时包含项目3 项目2包含图片
问题内容: 我很好奇flexbox是否可以使用这种布局。我似乎无法得出第3和第4格归入第二。这对于浮点数来说非常容易,只是好奇是否缺少一些可能对flexbox有帮助的属性。 布局 标记 问题答案: Flexbox不喜欢在多列或多行中扩展的flex项目,因为实际上flexbox没有网格概念。 但是,使用一些技巧,您可以实现此布局(以及更复杂的布局): 使用行布局 │1│2│3│4│ └─┴─┴─┴─