траблы с роутингом
Есть роуты
.state('category', { url: '/:category', views: { 'items': { templateUrl: 'Views/content.html', controller: 'categoryCtrl' }, 'items2': { templateUrl: 'Views/SubCategory.html', controller: 'categoryCtrl' }, } }) .state('category.subcategory', { url: '/:subcategory', views: { 'items2': { templateUrl: 'Views/SubCategory.html', controller: 'categoryCtrl' }, } }) и есть два линкаЖ 1. <a ui-sref="category({ category: item.product_Category})" >{{item.product_Category}}</a> получается url #/category 2. <a ui-sref="category.subcategory({subcategory: SubItem.SubName })" </a> получается url #/category/subcategory При нажатии на первый роут работает чьотко, при нажатии на второй одна вью должна поменятся на другу но этого не делает. Как исправить? |
народ, хелп, очень нужно!
|
Попробуйте так:
<a ui-sref="category.subcategory({category: item.product_Category, subcategory: SubItem.SubName })" </a> |
я думаю пробрема не в ui-sref, а в самом роуте, так как по логике код должен быть такой
.state('category.subcategory', { url: '/:category/:subcategory', views: { 'items2': { templateUrl: 'Views/SubCategory.html', controller: 'categoryCtrl' } }) но в таком случаи category в url дублируется и получается url #/category/category/subcategory, а в варианте приведенном мной ниже строка получается правильной #/category/subcategory но роут не срабатывает и я ни как не могу понять в чем причина( |
Нет ваш первый вариант правильный, т.к. вы используйте вложенные состояния (category.subcategory). Множите написать какого какого вида формируется url.
|
Чуток не понял вопроса. Постараюсь описать ситуацию подробнее.
У меня есть два ng-repeat которые перебирают category и subcategory и в каждом есть кнопка с ui-sref и методом. То есть при нажатии на первую у меня открывается один список и url получается localhost/#/category срабатывает первый роут и открывается content.html. При нажатии на вторую, к localhost/#/category добавляется subcategory (localhost/#/category/subcategory) но роут не срабатывает, то есть не видит второй параметр. |
как всегда решение оказалось довольно простым:
.state('category', { url: '/:category', views: {04 'items': { templateUrl: 'Views/content.html', controller: 'categoryCtrl' }, 'items2': { templateUrl: 'Views/SubCategory.html', controller: 'categoryCtrl' }, } }) .state('category.subcategory', { url: '/:subcategory', views: { 'items2@': { templateUrl: 'Views/SubCategory.html', controller: 'categoryCtrl' }, } }) всего лишь добавить @ к 'items2' в .state('category.subcategory' )) |
Часовой пояс GMT +3, время: 08:33. |