2015-04-28 136 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