2016-09-08 3 views
0

Я пытаюсь отправить переменную в контроллер, а затем использовать эту переменную в другом представлении.Передача данных из представления в контроллер, затем в другое представление

View1.html var cat = 5;

Controller.js // получаем, что кошки = 5 переменная

View2.html // получаем, что кошки = 5 тоже из контроллера

View2.html должен проверить, если вар кота = 5 изменилось с View1.html, чтобы изменить некоторые ссылки внутри View2.html

Пробовал использовать ng-init, но не смог поместить variale внутри своего значения, значение, которое я пытаюсь передать, - это переменная, которую я получаю от UrlParameter.

Также пробовал использовать канал публикации-подписки. Но оба представления загружаются одновременно, и View2.html пытается получить значение из View1.html до его установки.

Также попытался использовать $ scope и ng-model, используя скрытое поле ввода, но, по-видимому, он получает только значения по мере ввода, поэтому, если я назначаю значение напрямую, оно не сохраняется.

Это то, что я есть сейчас:

view1.html

$('.listaPromociones').append 
    ('<input type="hidden" ng-model="newCategory" value="'+cat+'"/>{{newCategory}}... 

JS

$scope.categoryId= $scope.newCategory; 

view2.html

var link = 'http://localhost/principal.html?cat={{categoryId}}'; 

Если вам нужно больше деталей код дайте мне знать:

http://embed.plnkr.co/Gfwh4SKnJSnyl59jTw3j/

ответ

0

Вы используете один и тот же контроллер в обоих видах делать? Если да, вы можете ссылаться на переменную в представлении 2, но это не является хорошей практикой, вы должны создать другой контроллер, ограниченный представлением 2, и вы можете поделиться этим значением между ними с помощью службы или через параметры, если я понимаю твоя проблема, это мое мнение.

0

1.- DonT смешайте угловой с JQuery для манипулирования DOM это не угловая образом и может вызвать конфликты, ошибки и проблемы

2.- Dont смешивать скрипт и ссылки теги везде не очень хорошая практика

Теперь, чтобы исправить вашу проблему, вы можете сделать две вещи: либо вы создаете service, который сохраняет ваше значение, а watch для изменения значений, чтобы настроить поведение, которое вы хотите, или привязаете эту переменную к корневому компьютеру, а также смотрите это значение, чтобы запустить обратный вызов на изменение ...

Смежные вопросы