角子状态不变
问题描述:
.state("board", {
url:"/board/:type",
templateUrl: "boardListPlain.jsp",
controller: 'BoardController',
controllerAs : 'board'
})
.state("boardInsert", {
url:"/board/:type/insert",
templateUrl: "boardInsert.html"
})
在这个stateProvider/board /中:type/insert shows/board //插入 我知道这是荒谬的做法。但我不知道如何处理“:输入” 我已经尝试过子状态,但它似乎需要一些特定的命名视图。 请向我推荐一些学习Angular基本技能的好地方。角子状态不变
答
基本上你应该声明两个状态,其中insert
状态将是board
状态的子状态,当你在下面的嵌套状态,你需要通过parentName.childName
符号声明子状态。这成为board.insert
每当你想叫你需要调用$state.go('board', {type: 'sometType'})
OR
从锚,你可以使用ui-sref="board({type: 'sometType'})"
而建立网址为/borad/sometType
同样的事情板状态当你想插入板
如果你没有通过type
在params
对象那么显然URL将导致/board//insert
,对于这样的事情,你可以使用params
选项状态来定义默认值。
配置
.state("board", {
url:"/board/:type",
templateUrl: "boardListPlain.jsp",
controller: 'BoardController',
params: {
type: {
value: 'defaultType' //if you don't mention the type, defaultType will become default.
}
}
controllerAs : 'board'
})
.state("board.insert", {
url:"/insert",
templateUrl: "boardInsert.html"
})
的感谢!但我已经尝试过没有“默认类型”的第二个解决方案,但我的ui-view并没有改变。 –