无法使用Ionic渲染视图
Cannot render view using Ionic
我第一次使用Ionic,遇到了一个小问题。我读过文档和教程,但我不明白自己做错了什么。
首先,这是我的代码(我是从一个空白项目开始的)。
代码
app.js(我刚刚添加了一个状态):
// Ionic Starter App
// angular.module is a global place for creating, registering and retrieving Angular modules
// 'starter' is the name of this angular module example (also set in a <body> attribute in index.html)
// the 2nd parameter is an array of 'requires'
angular.module('starter', ['ionic'])
.run(function($ionicPlatform) {
$ionicPlatform.ready(function() {
if(window.cordova && window.cordova.plugins.Keyboard) {
// Hide the accessory bar by default (remove this to show the accessory bar above the keyboard
// for form inputs)
cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
// Don't remove this line unless you know what you are doing. It stops the viewport
// from snapping when text inputs are focused. Ionic handles this internally for
// a much nicer keyboard experience.
cordova.plugins.Keyboard.disableScroll(true);
}
if(window.StatusBar) {
StatusBar.styleDefault();
}
});
})
.config(function($stateProvider, $urlRouterProvider) {
$stateProvider.state('home', {
url: '/',
views: {
templateUrl: 'templates/home.html'
}
})
$urlRouterProvider.otherwise('/');
});
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>
<!-- compiled css output -->
<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>
<!-- your app's js -->
<script src="js/app.js"></script>
</head>
<body ng-app="starter">
<ion-side-menus>
<ion-side-menu-content>
<ion-nav-bar class="bar-positive">
<ion-nav-back-button></ion-nav-back-button>
</ion-nav-bar>
</ion-side-menu-content>
<ion-side-menu side="left">
<ion-list>
<ion-item menu-close ui-sref="home">
Home
</ion-item>
</ion-list>
</ion-side-menu>
</ion-side-menus>
</body>
</html>
我的观点(在/www/templates/home.html
中):
<ion-view view-title="Home">
<ion-content>
<div>
<div>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Beatae inventore quod nihil quia, provident porro! Nulla ad libero deserunt, ullam soluta voluptates quidem dolore harum hic consequatur quas suscipit, ab.</div>
<div>Rerum, eum. Doloribus ullam voluptas repudiandae corrupti ipsa modi magnam, odit perferendis quam reprehenderit sapiente. Rerum impedit sequi voluptatibus porro ducimus dolor animi atque cupiditate similique praesentium. Beatae, suscipit, dolor.</div>
<div>Quasi natus cupiditate dignissimos non sed quaerat dolorem assumenda minima consectetur, quibusdam nostrum odio molestias voluptate eaque ut fugit atque quia totam laudantium? Repellendus ad, voluptatem itaque ut dolor placeat!</div>
<div>Quidem illo, molestias pariatur dolor laudantium et doloribus nostrum, hic quae consequuntur, nesciunt explicabo temporibus tempore possimus. Sint dolor, suscipit, iure, dolorem maiores veniam est cum eligendi iusto dolorum praesentium?</div>
<div>Dicta nihil amet, sapiente deserunt, facilis autem. Est debitis voluptate velit dicta explicabo alias culpa laborum nesciunt mollitia delectus, quos ut eius, itaque qui temporibus laudantium iusto reprehenderit omnis incidunt.</div>
</ion-content>
</ion-view>
问题
好的,所以基本上,我只想有一个视图(稍后添加一些其他视图)。在这一点上,我的主视图应该在我提供应用程序时呈现,但标题(导航栏)和内容都而不是显示。我已经尝试了很多东西(我的app.js中的语法、缓存等)。但什么都不管用。
你有想法吗?:)谢谢
下面我复制了您的代码,并进行了以下更改:
- 介绍了一个管理侧菜单结构的抽象视图(app)(相关视图为menu.html)
- 将主视图更改为"应用程序"的子视图
// Ionic Starter App
// angular.module is a global place for creating, registering and retrieving Angular modules
// 'starter' is the name of this angular module example (also set in a <body> attribute in index.html)
// the 2nd parameter is an array of 'requires'
angular.module('starter', ['ionic'])
.run(function($ionicPlatform) {
console.log('run');
$ionicPlatform.ready(function() {
if (window.cordova && window.cordova.plugins.Keyboard) {
// Hide the accessory bar by default (remove this to show the accessory bar above the keyboard
// for form inputs)
cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
// Don't remove this line unless you know what you are doing. It stops the viewport
// from snapping when text inputs are focused. Ionic handles this internally for
// a much nicer keyboard experience.
cordova.plugins.Keyboard.disableScroll(true);
}
if (window.StatusBar) {
StatusBar.styleDefault();
}
});
})
.config(function($stateProvider, $urlRouterProvider) {
console.log('config');
$stateProvider.state('app', {
url: "/app",
abstract: true,
templateUrl: "menu.html",
controller: 'AppController'
})
.state('app.home', {
url: "/home",
views: {
'menuContent': {
templateUrl: "home.html"
}
}
});
$urlRouterProvider.otherwise('/app/home');
})
.controller('AppController', function($scope) {
console.log('AppController');
});
<!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="http://code.ionicframework.com/nightly/css/ionic.css" rel="stylesheet">
<script src="http://code.ionicframework.com/nightly/js/ionic.bundle.js"></script>
<!-- cordova script (this will be a 404 during development) -->
<!--script src="cordova.js"></script-->
<!-- your app's js -->
<script src="app.js"></script>
</head>
<body ng-app="starter">
<ion-nav-view></ion-nav-view>
<script id="menu.html" type="text/ng-template">
<ion-side-menus>
<ion-pane ion-side-menu-content>
<ion-nav-bar class="bar-positive">
<ion-nav-back-button class="button-clear"><i class="icon ion-chevron-left"></i> Back</ion-nav-back-button>
</ion-nav-bar>
<ion-nav-view name="menuContent" animation="slide-left-right"></ion-nav-view>
</ion-pane>
<ion-side-menu side="left">
<header class="bar bar-header bar-positive">
<h1 class="title">Left</h1>
</header>
<ion-content class="has-header">
<ion-list>
<ion-item nav-clear menu-close ui-sref="home">
Home
</ion-item>
</ion-list>
</ion-content>
</ion-side-menu>
</ion-side-menus>
</script>
<script id="home.html" type="text/ng-template">
<ion-view view-title="Home">
<ion-nav-buttons side="left">
<button menu-toggle="left" class="button button-icon icon ion-navicon"></button>
</ion-nav-buttons>
<ion-content>
<div>
<div>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Beatae inventore quod nihil quia, provident porro! Nulla ad libero deserunt, ullam soluta voluptates quidem dolore harum hic consequatur quas suscipit, ab.</div>
<div>Rerum, eum. Doloribus ullam voluptas repudiandae corrupti ipsa modi magnam, odit perferendis quam reprehenderit sapiente. Rerum impedit sequi voluptatibus porro ducimus dolor animi atque cupiditate similique praesentium. Beatae, suscipit, dolor.</div>
<div>Quasi natus cupiditate dignissimos non sed quaerat dolorem assumenda minima consectetur, quibusdam nostrum odio molestias voluptate eaque ut fugit atque quia totam laudantium? Repellendus ad, voluptatem itaque ut dolor placeat!</div>
<div>Quidem illo, molestias pariatur dolor laudantium et doloribus nostrum, hic quae consequuntur, nesciunt explicabo temporibus tempore possimus. Sint dolor, suscipit, iure, dolorem maiores veniam est cum eligendi iusto dolorum praesentium?</div>
<div>Dicta nihil amet, sapiente deserunt, facilis autem. Est debitis voluptate velit dicta explicabo alias culpa laborum nesciunt mollitia delectus, quos ut eius, itaque qui temporibus laudantium iusto reprehenderit omnis incidunt.</div>
</div>
</ion-content>
</ion-view>
</script>
</body>
</html>
相关文章:
- 如何在Ionic Android中将Javascript注入到web视图中
- AngularJS+Ionic-将内容附加到另一个页面/视图
- 带有离子导航视图的Ionic中的$state.go不起作用
- Ionic和AngularJS中遍历视图的问题
- 使用Firebase和Ionic登录Facebook后重定向视图
- 在 Ionic 上的视图之间共享数据
- 控制器中的$scope在视图中不可访问/数据绑定不工作(IONIC/ANGULAR)
- 无法使用Ionic渲染视图
- 如何在Ionic Lab入门项目“侧菜单”中设置主细节视图
- Parsejs angular/ionic在视图中检索关系对象(第二次打开页面时显示值)
- AngularJs与Ionic,Cordova,Node.js,视图和其他'static'文件
- 将图像保存为Base64时,应用程序在Ionic视图中崩溃
- 使用ng指令将HTML插入视图::AngularJS+JavaScript+Ionic
- 如何在ionic中刷新视图
- 使用Ionic Framework,我如何向过渡动画提供我希望视图以何种方式滑入或滑出的提示
- ionic ng-if不能在模板视图中将$index作为作用域的索引
- Ionic:更新$scope变量后重新加载视图
- 在使用选项卡时,视图不会在ionic中更新
- Ionic Tinder卡添加了新的卡功能,当卡视图不是活动视图时添加卡时打破滑动动画
- 在单视图Ionic框架中加载Js文件