Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.11.2015, 20:18
Новичок на форуме
Отправить личное сообщение для Wizlight Посмотреть профиль Найти все сообщения от Wizlight
 
Регистрация: 03.11.2015
Сообщений: 5

Область видимости при роутинге
Как передавать изменение "переменной" при роутинге в другую область странички?
Вот есть такой код:
angular
    .module('lessonApp', ['ui.bootstrap', 'ngRoute']);

angular
    .module('lessonApp')
    .config(['$routeProvider','$locationProvider', function($routeProvider,$locationProvider){
        $routeProvider
            .when('/page:page',{
                templateUrl:function(params) {return '/site/lesson/pageAjaxUpdate?page='+ params.page+'&lectureId='+idLecture;},
                controller: function($scope, $http){
                    $http({method: 'GET', url: ''})
                        .success(function(data) {
                            //некий код
                            $scope.data = data;
                        })
                    }
                }
            })
    }]);

angular
    .module('lessonApp')
    .controller('lessonPageCtrl',lessonPageCtrl)

function lessonPageCtrl($scope) {
}

В представлении:
<div name="lecturePage">
    <div ng-cloak class="tabsWidget">
        <ng-view>
        </ng-view>
    </div>
</div>

Шаблон имеет вид:
<div
    ng-model="spots"
    ng-init='edit=<?php echo $edit; ?>;
spots=<?php echo json_encode($passedPages); ?>;
thisPage=<?php echo $thisPage-1; ?>;
editMode="<?php echo $editMode; ?>";
isAdmin="<?php echo AccessHelper::isAdmin(); ?>";
finishedLecture="<?php echo $finishedLecture; ?>";
lastAccessPage=<?php echo $lastAccessPage; ?>;'
    >
</div>
{{spots}}

При роутинге модель spots будет изменятся. Как мне ее выводить в другой части страницы.
Если прописать за пределами
<ng-view>
        </ng-view>

ничего не отображается
Ответить с цитированием
  #2 (permalink)  
Старый 04.11.2015, 18:45
Новичок на форуме
Отправить личное сообщение для Wizlight Посмотреть профиль Найти все сообщения от Wizlight
 
Регистрация: 03.11.2015
Сообщений: 5

Воспользовался идеей описаной на русскоязычном сайте ангуляра в коментариях
Роман и Наталья Ковальские Alexandr Ivanuna • 2 года назад
Я решил вопрос следующим образом:
1. Изменил ng-bind-template="Google Phone Gallery {{query}}" на
ng-bind-template="Google Phone Gallery {{newTitle}}"
newTitle - это просто поле корневого $rootScope

2. В шаблоне phone-list.html там где строка поиска
Search: <input ng-model="query">
я добавил директиву ng-change="reTitle()", которая вызывает функцию reTitle() при каждом изменении поля
Получилось: Search: <input ng-model="query" ng-change="reTitle()">

3. В контроллере
phonecatControllers.controller('PhoneListCtrl', ...
добавил функцию

$scope.reTitle = function(){
$rootScope.newTitle = $scope.query;
};
Ответить с цитированием
  #3 (permalink)  
Старый 10.11.2015, 06:55
Новичок на форуме
Отправить личное сообщение для gorev.nikolay Посмотреть профиль Найти все сообщения от gorev.nikolay
 
Регистрация: 30.04.2013
Сообщений: 5

Что если хранить ее в $rootScope?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Переменная из строки и область видимости scruwi Общие вопросы Javascript 12 08.02.2015 14:37
Область видимости конструктора riva Общие вопросы Javascript 10 04.11.2014 14:09
Область видимости переменных (this) Артем163 Общие вопросы Javascript 4 21.03.2014 15:32
Запуск функции при видимости объекта max0n Общие вопросы Javascript 2 24.06.2013 15:22
При клике на ссылку ничего не происходит gurg0n Элементы интерфейса 2 24.06.2013 11:11