温泉ui错误" TypeError:无法读取属性' pushPage' of null"

时间:2015-02-20 13:37:48

标签: angularjs onsen-ui

我用onsen ui + angularjs开发。我的应用程序必须能够访问不同的部分,一个用于" home"页面和另一个是横向菜单。当我使用" home"菜单和我访问我的列表中的任何项目工作完美,但如果我使用横向菜单,我尝试访问任何项目铬调试器显示我这个错误:

TypeError:无法读取属性' pushPage'为null     在Scope。$ scope.showPost(http://recorramisiones.com.ar/rutadelaselva/app2/js/app.js:103:26)     at $ parseFunctionCall(http://recorramisiones.com.ar/rutadelaselva/app2/lib/onsen/js/angular/angular.js:12133:18)     在http://recorramisiones.com.ar/rutadelaselva/app2/lib/onsen/js/onsenui.js:15815:21     在Scope。$ get.Scope。$ eval(http://recorramisiones.com.ar/rutadelaselva/app2/lib/onsen/js/angular/angular.js:14123:28)     在Scope。$ get.Scope。$ apply(http://recorramisiones.com.ar/rutadelaselva/app2/lib/onsen/js/angular/angular.js:14221:23)     at HTMLElement.click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste.split.forEach.ngEventDirectives。(anonymous function).compile.listener(http://recorramisiones.com.ar/rutadelaselva/app2/lib/onsen/js/onsenui.js:15814:25)     在HTMLElement.eventHandler(http://recorramisiones.com.ar/rutadelaselva/app2/lib/onsen/js/angular/angular.js:3013:21

我的项目网址:http://recorramisiones.com.ar/rutadelaselva/app2/

屏幕截图:http://puu.sh/g4Zr5.jpg

menu.html(横向菜单):

<ons-page modifier="menu-page">
 <ons-toolbar modifier="transparent"></ons-toolbar>

 <ons-list class="menu-list">
 <ons-list-item class="menu-item" ng-click="menu.setMainPage('home.html', {closeMenu: true})">
  <ons-icon icon="fa-home" fixed-width="true"></ons-icon>
  Inicio
</ons-list-item>
<ons-list-item class="menu-item" ng-click="menu.setMainPage('areas.html', {closeMenu: true})">
  <ons-icon icon="fa-leaf" fixed-width="true"></ons-icon>
   Areas Naturales
</ons-list-item>
<ons-list-item class="menu-item" ng-click="menu.setMainPage('informes.html', {closeMenu: true})">
  <ons-icon icon="fa-info-circle" fixed-width="true"></ons-icon>
  Informes Turísticos
</ons-list-item>
<ons-list-item class="menu-item" ng-click="menu.setMainPage('atractivos.html', {closeMenu: true})">
  <ons-icon icon="fa-camera" fixed-width="true"></ons-icon>
   Atractivos y Actividades
</ons-list-item>
<ons-list-item class="menu-item" ng-click="menu.setMainPage('alojamientos.html', {closeMenu: true})">
  <ons-icon icon="fa-building" fixed-width="true"></ons-icon>
  Alojamientos
</ons-list-item>    
<ons-list-item class="menu-item" ng-click="menu.setMainPage('hospitales.html', {closeMenu: true})">
  <ons-icon icon="fa-plus-square" fixed-width="true"></ons-icon>
   Hospitales y Servicios
</ons-list-item>
<ons-list-item class="menu-item" ng-click="menu.setMainPage('markers.html', {closeMenu: true})">
  <ons-icon icon="fa-map-marker" fixed-width="true"></ons-icon>
  Mapa
</ons-list-item>
</ons-list>
</ons-page>

home.html(主菜单)

<ons-navigator animation="slide" var="gallery"> 
  <ons-page>
    <ons-toolbar modifier="opacity">
      <div class="left">
        <ons-toolbar-button ng-click="menu.toggle()"><ons-icon icon="ion-navicon-round" fixed-width="false"></ons-icon></ons-toolbar-button>
      </div>
      <div class="center">Ruta de la Selva</div>
    </ons-toolbar>
    <div class="app-page">
      <div class="app-page-menu">
        <ons-row>
          <ons-col>
            <ons-button modifier="clean" ng-click="gallery.pushPage('alojamientos.html');">
              <img src="img/alojamientos.jpg">
              <p>Alojamientos</p>
            </ons-button>
          </ons-col>
        </ons-row>
        <ons-row>
          <ons-col>
            <ons-button modifier="clean" ng-click="gallery.pushPage('informes.html');">
              <img src="img/informes.jpg">
              <p>Informes Turísticos</p>
            </ons-button>
          </ons-col>
        </ons-row>
        <ons-row>
          <ons-col>
            <ons-button modifier="clean" ng-click="gallery.pushPage('atractivos.html');">
              <img src="img/actividades.jpg">
              <p>Atractivos y Actividades</p>
            </ons-button>
          </ons-col>
        </ons-row>
        <ons-row>
          <ons-col>
            <ons-button modifier="clean" ng-click="gallery.pushPage('areas.html');">
              <img src="img/areas.jpg">
              <p>Áreas Naturales</p>
            </ons-button>
          </ons-col>
        </ons-row>
        <ons-row>
          <ons-col>
            <ons-button modifier="clean" ng-click="gallery.pushPage('dishes.html');">
              <img src="img/hospitales.jpg">
              <p>Hospitales y Servicios</p>
            </ons-button>
          </ons-col>
        </ons-row>
        <ons-row>
          <ons-col>
            <ons-button modifier="clean" ng-click="gallery.pushPage('markers.html');">
              <img src="img/map.jpg">
              <p>Mapa</p>
            </ons-button>
          </ons-col>
        </ons-row>
      </div>
    </div>
  </ons-page>
</ons-navigator>

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

如果您使用主页面,则将位置列表推送到导航器页面堆栈。这很有效,因为您现在也可以将下一页推到页面堆栈的顶部。

如果您使用菜单,则将主页面设置为地点列表(不带导航器)。因此,当您单击它时,由于没有导航器,因此无法推送页面。

基本上,您可以通过两种不同的方式访问“areas.html”这样的页面,其中一种是导航器,另一种是不导航的。我建议你每页使用一个导航器,并将菜单放在所有内容之上,以便它始终可用。