2015-06-27 5 views
2

JSpushPage не может работать - онсэн Monaca PhoneGap

app.controller('categoryController', function($scope,$http){ 
    $http.get('http://xxxxxxxxxxxx.com/public/api/v1/category').success(function(response){ 
     $scope.myCategory = response.data; 
    }); 

    $scope.showSubCategory = function(index) { 
     var selectedItem = $scope.myCategory[index]; 
     var options = { animation: 'slide' }; 

     $scope.myCategory.selectedItem = selectedItem; 

     $scope.ons.navigator.pushPage('subcategory.html', options, {name : selectedItem.name}); 
    }; 
}); 

HTML/Угловая/ONSEN

<ons-navigator> 
    <ons-page> 
     <ons-toolbar> 
      <div class="left"> 
       <ons-toolbar-button ng-click="app.slidingMenu.toggleMenu()"><ons-icon icon="bars"></ons-icon></ons-toolbar-button> 
      </div> 
      <div class="center">Home</div> 
      <div class="right"> 
       <ons-toolbar-button ng-click="app.slidingMenu.toggleMenu()"><ons-icon icon="fa-search"></ons-icon></ons-toolbar-button> 
      </div> 
     </ons-toolbar> 


     <ons-list ng-controller="categoryController" id="category-lists"> 
      <ons-list-item modifier="chevron" class="item" ng-repeat="item in myCategory" ng-click="showSubCategory($index)"> 
       <ons-row> 
        {{item.name}} 
       </ons-row>       
      </ons-list-item> 
     </ons-list> 

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

Ошибка

TypeError: Невозможно вызвать метод 'pushPage' неопределенной на Scope . $ scope.showSubCategory (файл: ///data/data/com.example.helloworld/files/projects/cloud/558d3c277e2193c742d69fea/www/components/app.js: 16: 27) в файле: /// data/данные/с om.example.helloworld/files/projects/cloud/558d3c277e2193c742d69fea/www/components/loader.js: 1439: 30512 в файле: ///data/data/com.example.helloworld/files/projects/cloud/558d3c277e2193c742d69fea/ www/components/loader.js: 1448: 18904 at Scope. $ eval (файл: ///data/data/com.example.helloworld/files/projects/cloud/558d3c277e2193c742d69fea/www/components/loader.js: 1437 : 28127) at Scope. $ Apply (файл: ///data/data/com.example.helloworld/files/projects/cloud/558d3c277e2193c742d69fea/www/components/loader.js: 1437: 28433) в HTMLElement.listener (файл: ///data/data/com.example.helloworld/files/projects/cloud/558d3c277e2193c742d69fea/www/components/loader.js: 1448: 18886) в HTMLElement.eventHandler (файл: /// данные/данные /com.example.helloworld/files/projects/cloud/558d3c277e2193c742d69fea/www/components/loader.js:1434:29261) в FastClick.sendClick (файл: ///data/data/com.example.helloworld/files/projects/cloud/558d3c277e2193c742d69fea/www/components/loader.js: 1441: 13284) в FastClick.onTouchEnd (файл:///data/data/com.example.helloworld/files/projects/cloud/558d3c277e2193c742d69fea/www/components/loader.js:1441:17447) в HTMLBodyElement. (файл: ///data/data/com.example.helloworld/files/projects/cloud/558d3c277e2193c742d69fea/www/components/loader.js: 1441: 10005)


Привет, я использовать monaca.pushPage (subcategory.html, .....) и нет ошибки, но не может перейти на страницу subcategory.html.

Любая помощь приветствуется.

ответ

0

ons переменная больше не хранит навигаторов. Вы должны использовать атрибут var в навигаторе и дать ему имя, чтобы позвонить ему позже. Например:

<ons-navigator var="myNavigator"> 
    ... 
</ons-navigator> 

И затем используйте его с myNavigator.pushPage(...). Больше информации здесь: http://onsen.io/reference/ons-navigator.html

Надеюсь, это поможет!