2015-04-28 132 views
1

已經做了一些教程後,我開始使用我自己的離子的應用程序。我開始使用離子空白模板。我的問題是,我ion-view(在cards.js,見下文)不露面的ion-nav-view裏面所有,即我沒有得到任何孩子HTML標籤ion-nav-view離子視離子導航視圖內不會出現

我用亞當的回答this question,以確保我的路線是正確的設置,我沒有得到任何錯誤,所以我覺得他們是。我並不想要製表符,只是一個視圖。

如果我在我的控制器函數中放置一個斷點,那麼執行不會暫停,因此很明顯,代碼根本不會執行,但我無法深入研究框架的內核,以便弄清楚發生了什麼。

你有任何想法,我缺少的是什麼/做錯了什麼?

我的代碼是:

的index.html

<!DOCTYPE html> 
<html> 
    <head> 
    <meta charset="utf-8"> 
    <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width"> 
    <title></title> 

    <link href="lib/ionic/css/ionic.css" rel="stylesheet"> 
    <link href="css/style.css" rel="stylesheet"> 

    <!-- IF using Sass (run gulp sass first), then uncomment below and remove the CSS includes above 
    <link href="css/ionic.app.css" rel="stylesheet"> 
    --> 

    <!-- ionic/angularjs js --> 
    <script src="lib/ionic/js/ionic.bundle.js"></script> 

    <!-- cordova script (this will be a 404 during development) --> 
    <script src="cordova.js"></script> 

    <!-- libs--> 
    <script src="lib/ionic-contrib-tinder-cards/ionic.tdcards.js"></script> 
    <script src="lib/collide/collide.js"></script> 

    <!-- your app's js --> 
    <script src="app/app.js"></script> 
    <script src="app/controllers/cards.js"></script> 
    </head> 
    <body ng-app="myApp"> 
    <ion-nav-view></ion-nav-view> 
    </body> 
</html> 

app.js

angular.module('myApp', ['ionic']) 

    .run(function($ionicPlatform, $rootScope) { 
    $ionicPlatform.ready(function() { 
     // Hide the accessory bar by default (remove this to show the accessory bar above the keyboard 
     // for form inputs) 
     if(window.cordova && window.cordova.plugins.Keyboard) { 
     cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true); 
     } 
     if(window.StatusBar) { 
     StatusBar.styleDefault(); 
     } 
    }); 
}) 

    .config(function($stateProvider, $urlRouterProvider){ 
    $stateProvider 
     .state('cards', { 
     url: '/cards', 
     views: { 
      'cards': { 
      templateUrl: 'app/views/cards.html', 
      controller: 'Cards' 
      } 
     } 
     }); 
    $urlRouterProvider.otherwise('/cards'); 
    }); 

cards.js

angular.module('myApp') 
    .controller('Cards', function($scope) { 
    $scope.cards = [ 
     {title: 'Card-1'}, 
     {title: 'Card-2'}, 
     {title: 'Card-3'} 
    ]; 
    }); 

cards.html

<ion-view view-title="cards"> 
    <ion-content ng-controller="Cards"> 
    <h1> Cards view </h1> 
    <ion-list> 
     <ion-item ng-repeat="cards in cards"> 
     {{card.title}} 
     </ion-item> 
    </ion-list> 
    </ion-content> 
</ion-view> 

回答

2

我已經刪除了以前的文章,當你指出,我的回答完全錯誤。

關於你的路由,這裏是我的。你看到那個合成物有什麼不同嗎?

$urlRouterProvider.otherwise('/'); 

$stateProvider.state('camera',{ 
    url:"/camera", 
    cache: false, 
    controller:"CameraCtrl", 
    templateUrl:'app/views/loading/index.html' 
}) 
+0

其實,是的,現在我的'離子視圖'顯示出來了!看起來,我在控制器中的視圖名稱沒有正確映射到'view-title'。現在我需要明白這一點。謝謝! – AdrienF

0

我想你想用的是一個或另一個。 ion-nav-view只是一個具有稍微不同行爲的離子視圖。

所以把離子NAV-視圖內的離子視圖將類似於把離子視圖,這將無法正確顯示內的離子視圖。

從文檔:「記得在實例離子導航視圖替換UI視圖」

參考:

http://ionicframework.com/docs/api/directive/ionNavView/

+0

我不認爲這是非常正確的,因爲'ion-view'的[doc](http://ionicframework.com/docs/api/directive/ionView/)明確指出它必須做一個'ion-nav-view'的小孩吧 – AdrienF