Onsen's Navigator - функция pushPage

Я реализовал контроллер для хранения названия элемента и ссылки на страницу, связанную с элементом.

myApp.controller('takeAwayListCtrl', function($scope)
{
$scope.items = [{itemName: 'Pizze', page: 'pizze_takeaway.html'}, {itemName: 'Pasta', page: 'pasta_takeaway.html'}, {itemName: 'Dessert', page: 'dessert_takeaway.html'}];
});

Хотя x.itemName интерпретируется правильно, следующий код не может правильно интерпретировать атрибут страницы x.page, когда я передаю его функции pushPage для навигатора.

        <script type="text/ons-template" id="takeaway.html">
            <ons-navigator title="Navigator" var="myNavigator">
            <ons-page>
            <ons-toolbar>
            <div class="center">Take Away</div>
            </ons-toolbar>

            <ons-list ng-controller="takeAwayListCtrl">

            <ons-list-item modifier="tappable" ng-repeat="x in items">

            <ons-button ng-click="myNavigator.pushPage( {{x.page}}, { animation : 'slide' } )" modifier="large--quiet">
            {{ x.itemName }}
            </ons-button>
            </ons-list-item>

            </ons-list>

            </ons-page>
            </ons-navigator>
        </script>

Мне нужно сбежать от чего-то?


person davide    schedule 11.08.2014    source источник


Ответы (1)


Я не думаю, что вам нужно обернуть x.page {{ }}.

Просто используйте его прямо так:

<ons-button ng-click="myNavigator.pushPage(x.page, { animation : 'slide' } )"
person runTarm    schedule 11.08.2014
comment
Зачем вам нужна фактическая строка в html? ng-click должен проанализировать выражение и вызвать функцию myNavigator.pushPage(x.page, .. с соответствующим значением. - person runTarm; 11.08.2014