Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.07.2015, 17:05
Аспирант
Отправить личное сообщение для Boogie1989 Посмотреть профиль Найти все сообщения от Boogie1989
 
Регистрация: 21.10.2014
Сообщений: 37

траблы с роутингом
Есть роуты
.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

При нажатии на первый роут работает чьотко, при нажатии на второй одна вью должна поменятся на другу но этого не делает. Как исправить?
Ответить с цитированием
  #2 (permalink)  
Старый 08.07.2015, 15:25
Аспирант
Отправить личное сообщение для Boogie1989 Посмотреть профиль Найти все сообщения от Boogie1989
 
Регистрация: 21.10.2014
Сообщений: 37

народ, хелп, очень нужно!
Ответить с цитированием
  #3 (permalink)  
Старый 08.07.2015, 16:34
Аватар для Tek
Tek Tek вне форума
Профессор
Отправить личное сообщение для Tek Посмотреть профиль Найти все сообщения от Tek
 
Регистрация: 22.02.2012
Сообщений: 212

Попробуйте так:
<a ui-sref="category.subcategory({category: item.product_Category, subcategory: SubItem.SubName })" </a>
Ответить с цитированием
  #4 (permalink)  
Старый 09.07.2015, 19:53
Аспирант
Отправить личное сообщение для Boogie1989 Посмотреть профиль Найти все сообщения от Boogie1989
 
Регистрация: 21.10.2014
Сообщений: 37

я думаю пробрема не в ui-sref, а в самом роуте, так как по логике код должен быть такой
.state('category.subcategory', {

             url: '/:category/:subcategory',
             views: {
                 'items2': {
                     templateUrl: 'Views/SubCategory.html',
                     controller: 'categoryCtrl'
                 }        
       })

но в таком случаи category в url дублируется и получается url #/category/category/subcategory, а в варианте приведенном мной ниже строка получается правильной #/category/subcategory но роут не срабатывает и я ни как не могу понять в чем причина(
Ответить с цитированием
  #5 (permalink)  
Старый 10.07.2015, 08:19
Аватар для Tek
Tek Tek вне форума
Профессор
Отправить личное сообщение для Tek Посмотреть профиль Найти все сообщения от Tek
 
Регистрация: 22.02.2012
Сообщений: 212

Нет ваш первый вариант правильный, т.к. вы используйте вложенные состояния (category.subcategory). Множите написать какого какого вида формируется url.

Последний раз редактировалось Tek, 10.07.2015 в 08:26.
Ответить с цитированием
  #6 (permalink)  
Старый 10.07.2015, 11:16
Аспирант
Отправить личное сообщение для Boogie1989 Посмотреть профиль Найти все сообщения от Boogie1989
 
Регистрация: 21.10.2014
Сообщений: 37

Чуток не понял вопроса. Постараюсь описать ситуацию подробнее.
У меня есть два ng-repeat которые перебирают category и subcategory и в каждом есть кнопка с ui-sref и методом. То есть при нажатии на первую у меня открывается один список и url получается localhost/#/category срабатывает первый роут и открывается content.html. При нажатии на вторую, к localhost/#/category добавляется subcategory (localhost/#/category/subcategory) но роут не срабатывает, то есть не видит второй параметр.
Ответить с цитированием
  #7 (permalink)  
Старый 15.07.2015, 20:48
Аспирант
Отправить личное сообщение для Boogie1989 Посмотреть профиль Найти все сообщения от Boogie1989
 
Регистрация: 21.10.2014
Сообщений: 37

как всегда решение оказалось довольно простым:
.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' ))
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
отправка формы после валидации. траблы darklight34 Общие вопросы Javascript 0 13.04.2015 11:16
траблы с несколькими document.getElementById getElementById Общие вопросы Javascript 3 06.11.2009 16:26
Траблы с разными обозревателями (ff&ie) vovchok (X)HTML/CSS 29 13.09.2009 17:17
jQuery 1.2.6 Ajax: траблы в FireFox и Opera Russell jQuery 5 28.05.2009 22:22