角子状态不变

角子状态不变

问题描述:

.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

同样的事情板状态当你想插入板

如果你没有通过typeparams对象那么显然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" 
}) 
+0

的感谢!但我已经尝试过没有“默认类型”的第二个解决方案,但我的ui-view并没有改变。 –