Всем привет!
Делаю апликушку и есть необходимость строить ссылки типа /stateA/IdA/stateB/IdB с чем собственно и проблема возникла
Что я делаю:
* в темплейтах директивы с локальными скоупами, в контроллерах конфиги со стейтами
.state(stateZero, {
url: '/list',
template: < table config="config"> < /table>,
controller: function () {}
})
.state(stateA.listA, {
url: '/list/:id',
template: < table id = 'id' config="config"> < /table>,
controller: function () {}
})
.state(stateB.listB, {
abstract: true,
url: '/list/:prevID/listB/:id',
template: < tabs id = "id" prevID = "prevID" config="config"> < /tabs>,
controller: function () {}
})
.state(stateB.listB.tabA, {
abstract: true,
url: '/tabA',
template: < input id = "id" prevID = "prevID" config="config"> < /input>,
controller: function () {}
})
Что получается, у меня кнопка имеет такой вид
<button ui-sref="{{state.sref}}({id:id, prevID: prevID})"
В конфигах находятся данные о стейтах для кнопочки. Выходит, что я тяну два айдишника по контроллерам стейтов, отлавливаю их вставляю в кнопочку. Часто возникает проблема, когда необходимо по тому же пути возвращаться обратно - теряю айдишники.
Так же пробовал передавать данные в params: {id: '', prevID: '', test: 'test'} и ловить в $state.get() по как-то получается, что в стейтах B я вижу пустрые свойства, за исключением тест, который прописан ручками.
Пробовал вытягивать урл из $location резать его и забирать id, но посчитал это извращением и перестал так делать.
У кого есть опыт построения сложных урлов, подскажите как правильно делать, если есть ссылки на примеры было бы вообще здорово, так как обшуршал весь нэт и обычно простые примеры.