Ionic 学习笔记
http://www.cnblogs.com/zt-blog/p/7831153.html
注:
本篇学习笔记基于Ionic 3.18.0 版本。
官网: http://ionicframework.com/
正文:
新版的Ionic基于angular(gt 2.X),下面的截图是Ionic tutorial项目的目录结构。

index.html -- 为主入口html文件,主要包含<ion-app></ion-app>标签,以及引入js,css文件。引入的文件最重要的两个是:
<ion-app></ion-app>
......
<script src="cordova.js"></script> -- build时期才会注入,本地开发时不存在此文件。
<script src="build/main.js"></script> -- 引入跟模块,并启动应用程序。
main.js -- 主入口js文件,引入跟模块,并启动应用程序。
src目录 -- 存放源代码,为编译的代码。当运行ionic serve命令的时候,src目录下的文件会被转译成浏览器能识别的ES5。
src/app/app.module.ts -- 定义根模块;设置根组件;启动app
@NgModule({ declarations: [MyApp,HelloIonicPage, ItemDetailsPage, ListPage], imports: [ BrowserModule, IonicModule.forRoot(MyApp)], bootstrap: [IonicApp], entryComponents: [MyApp,HelloIonicPage,ItemDetailsPage,ListPage], providers: [] }) export class AppModule {}
src/app/app.component.ts -- 根组件,在根模块中设置的。
src/app/app.html -- app.component引用的模板。

模板里用了一些Ionic组件: (menu和nev的关联)
ion-menu: 定义了侧边栏菜单。 [content]="content"
ion-nav: 定义了对应的内容区域。 #content
ion-nav组件的[root]属性指定本组件的第一个页面rootPage。rootPage在app.component.ts有定义(指向src/pages/hello-ionic/hello-ionic.html)。
src/pages/hello-ionic/hello-ionic.html -- rootPage 指定的页面。
ion-navbar: 本页面的导航栏,会跟随页面切换而变化。
导航(路由)相关: (区别于angular以及ionic1.X的url路由方式)
1. import {NavController, NavParams} from 'ionic-angular';
获取参数: this.selectedItem = navParams.get('item');
导航:this.navCtrl.push(ItemDetailsPage /*组件名*/ , { item: item } /*参数*/);
导航可随着页面切换菜单/返回按钮,这个是ionic风格的导航实现的,是可配置的。
导航工作原理是利用stack栈,push新page并显示返回按钮,点击返回时,从栈顶pop一个page。
2. 根组件的导航: 根组件无法依赖NavController,可以通过ion-nav的引用创建一个nav实例进行导航。
3. 此外,ion-tab也可以绑定[root]来做路由,每个ion-tab拥有自己的历史栈,且每个ion-tab对应的navController实例是唯一的。
Ionic 学习笔记的更多相关文章
- Ionic学习笔记三 Gulp在ionic中的使用
简介 Gulp是一个基于流的自动化构建器. 安装 npm config set registry http://registry.npm.taobao.org ---最好用国内源 npm instal ...
- Ionic学习笔记四 一些问题处理
版权声明:本文为博主原创文章,转载请留链接,非常感谢. 目录(?)[+] IONIC actionsheet 的cancel menu在android下不显示的bug 在 _action-sh ...
- ionic学习笔记—常用命令
Ionic CLI介绍 Ionic CLI是开发Ionic应用程序过程中使用的主要工具.它就像一个瑞士军刀:它在一个界面下汇集了大量工具. CLI包含许多对Ionic开发至关重要的命令,例如start ...
- ionic学习笔记—创建项目
环境搭建: 安装node.js --> npm或cnpm --> 安装jdk --> 安装AndroidSDK --> 安装cordova --> 安 ...
- Ionic学习笔记5_动态组件指令
1. 模态对话框 : $ionicModal 模态对话框常用来供用户进行选择或编辑,在模态对话框关闭之前,其他 的用户交互行为被阻止 .操作模态对象返回结果,模态对象的方法提前定制. 三个步骤 1.声 ...
- Ionic学习笔记4_ionic路由(页面切换)
1.1. ionic路由机制: 状态 1.2. ion-nav-view <body ng-controller="firstCtrl"> <a class= ...
- Ionic学习笔记3_ionic指令简单布局
1) 添加引用类库(ionic样式和ionic js文件) 2) 标题栏,页脚栏,内容区 3) Js引入ionic类库,添加页面操作方法和对象 4) 数据初始化 5) Html页面 ...
- Ionic学习笔记1_基本布局
<body> <!-- 头部 --> bar里嵌入子元素:title,button,button-bar和 inpu ...
- 【学习笔记】ionic 学习之环境搭建
初学ionic ,后面会把学习的点滴和踩到坑全部记录下来 1.环境 安装node.js 官网地址:https://nodejs.org/en/ 下载安装包安装.自己记住自己的安装路径哦 安装完成后我们 ...
随机推荐
- 【树状数组 离散化】bzoj1573: [Usaco2009 Open]牛绣花cowemb
解方程题! Description Bessie学会了刺绣这种精细的工作.牛们在一片半径为d(1 <= d <= 50000)的圆形布上绣花. 它们一共绣了N (2 <= N < ...
- Apache安装错误 APR not found解决方法
在配置Apache的时候,出现错误 原因是缺少一些依赖包,安装这些依赖包就行了 下载依赖包,注意我这里下载的与参考链接上的有些不同,安装上也有不一样 wget http://archive.apach ...
- 主DNS服务-正向解析
环境 准备最少两台主机 一台当DNS服务器,一台当客户机 如:192.168.43.7这台主机当DNS服务器,192.168.43.6这台主机当客户机 安装DNS服务 yum install -y b ...
- Vue—事件修饰符
Vue事件修饰符 Vue.js 为 v-on 提供了事件修饰符来处理 DOM 事件细节,如:event.preventDefault() 或 event.stopPropagation(). Vue. ...
- gpio/外设/控制器
1.项目中所有的外设pad都是通过GPIO与控制器相连的.比如FSHC<=>gpio<=>flash 2.gpio类似多个 mux 集合. 3.对于与gpio相连的pad具体结 ...
- 《零基础入门学习Python》【第一版】视频课后答案第005讲
测试题答案: 0.Python中: int:整型 bool:布尔类型 float:浮点型 str:字符串类型 1.为什么布尔类型(bool)的TRUE和FALSE分别用0和1表示? 计算机只认识二进制 ...
- 二、Pandas库与数据处理
# Author:Zhang Yuan import pandas as pd import numpy as np #Pandas提供了两大数据结构:一维结构的Series类型.二维结构的DataF ...
- Spring中线程池的使用
<bean id="threadPoolTaskExecutor" class="org.springframework.scheduling.concurrent ...
- 一个线程中lock用法的经典实例
/* 该实例是一个线程中lock用法的经典实例,使得到的balance不会为负数 同时初始化十个线程,启动十个,但由于加锁,能够启动调用WithDraw方法的可能只能是其中几个 作者:http://h ...
- centos 装 android studio (2)
这里,我打算安装 JDK 1.8. $ sudo add-apt-repository ppa:webupd8team/java $ sudoapt-get update $ sudoapt-get ...
cnzt