2015-10-15 2 views
0
.state("board", { 
    url:"/board/:type", 
    templateUrl: "boardListPlain.jsp", 
    controller: 'BoardController', 
    controllerAs : 'board' 
}) 
.state("boardInsert", { 
    url:"/board/:type/insert", 
    templateUrl: "boardInsert.html" 
}) 

В этом stateProvider/совет/Тип/вставка шоу/доска // вставить Я знаю, что это смешно способ сделать. но я не знаю, как обращаться с: "type" Я пробовал дочернее состояние, но, похоже, вам нужен определенный именованный вид. И, пожалуйста, порекомендуйте мне какое-нибудь хорошее место, чтобы изучить базовые навыки Углового.угловое состояние ребенка не меняется

ответ

0

В принципе, вы должны объявить два состояния, и в котором insert государства будет ребенок состоянием board состояния, как вы следуете вложенному состоянию вы должны объявить состояние ребенка по parentName.childName нотации. Здесь он становится board.insert

Всякий раз, когда вы хотите, чтобы вызвать состояние доски необходимо вызвать $state.go('board', {type: 'sometType'})

ИЛИ

С якоря можно использовать ui-sref="board({type: 'sometType'})" в то время как создать свой адрес, как /borad/sometType

То же самое будет следовать, когда вы захотите вставить плату someType

Если вы не передадите type в params, то, очевидно, URL-адрес будет равен /board//insert, так как вы можете определить значение по умолчанию, используя params вариант состояния.

Config

.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 не меняется. –