ionic二飞速上手

By admin in 4858美高梅 on 2019年4月20日

国庆节前Ionic2公布了哈弗C0版本,已经接近标准版了,前不久Angular2和TypeScript二也早就公告了正式版。详细的情况请参考官方博客:

国庆节前Ionic二发表了SportageC0版本,已经接近规范版了,前不久Angular二和TypeScript2也壹度发布了正式版。详细情形请参考官方博客:

Ionic2系列-将beta升级到RC1,ionic2系列betarc1

ionic二飞速上手。国庆节前Ionic贰发布了奥迪Q3C0版本,已经接近规范版了,前不久Angular2和TypeScript二也已经揭露了正式版。详细情况请参考官方博客:

此番进级升高了自然的习性,引入了Angular2的部分新特征,如@NgModule、辅助AoT编写翻译(Ahead
of
Time)等,项目协会也发生了改换。所以须要花一点小时把beta版本的等级次序进级到奥德赛C0,相对于进步的性质来讲,依然很值得的。

AoT能够在build阶段预先编写翻译模板,运营速度和页面切换速度都会增高。官方提供了一个beta1壹和大切诺基C0的自己检查自纠效果图:

4858美高梅 1

能够看到,启用AoT的MuranoC0版本运维速度大大进级,首页加载速度比beta11版本快很多。

除此而外,QX56C0的build形式也改换了。KoleosC0扬弃了webpack,使用了Rollup。不用再安装居尔p来治本职分了,用npm
scrip来打包。可是对开荒者使用的话并未怎么变化,依旧利用Ionic
serve命令就可以,只是输出的剧情有着退换。选择那种build格局后,自定义打包脚本也变得很轻松配置了。可参照Github项目地址:

 

类型布局的浮动根本反映在引进了@NgModule,源代码从app目录移到了src目录,pages、providers这么些目录都未曾调换。

 

对此从beta版本平昔跟下来的开辟者来讲,或者都碰着过API在区别版本中用法不相同的场地,有的还变来变去,如Alert等零件的用法,呈现二个Alert有的版本要调用Alert的办法有些版本要调用AlertController的办法。GL450C0也稳固了API用法,应该不会有大的转移了。

 

在编写翻译形式方面,beta版本从前要自身启用Angular二的生育方式,昂CoraC0就回顾繁多,项目模板已经提供了dev情势和prod情势,使用ionic
serve命令调试的时候是dev形式,当使用build命令时会自动切换成prod方式,万分便利。prod形式编译出来的js文件体量大大裁减,运营速度也快了无数。

 

别的还有1部分改动,如:

1、重新命名了生命周期事件名称:

  ionViewLoaded事件改为ionViewDidLoad

  移除了IonViewDidUnload事件

  从ViewController中移除了fireOtherLifecycles事件

二、将Storage从ionic-angular中改动来了1个独立的module——ionic-storage中,借使用到了该零件须要修改package.json然后npm
install。

3、修改了color的用法:

  不可能平昔给一个零件增多color了,必供给改成属性的办法,在此从前能够这么用:

  <ion-tabs primary>

  未来要改成这么:

  <ion-tabs color=”primary”>

  受影响的零件有:

  • Badge
  • Button
  • Checkbox
  • Chip
  • FAB
  • Icon
  • Item (Item, Item Divider, List Header)
  • Label
  • Navbar
  • Radio
  • Searchbar
  • Segment
  • Spinner
  • Tabs
  • Toggle
  • Toolbar
  • Typography (headers, paragraphs, spans, etc.)

④、修改了button组件的宣示情势,<button>要改成<button
ion-button>,<a button>改成<a ion-button>;Icon
Button的宣示情势也有着扭转。

五、CSS引进格局也扭转了。在此以前要分别引进三个阳台的css,由ionic动态加载,以后只要求以下壹行就足以了:

  <link href=”build/main.css” rel=”stylesheet”>

……

自己觉着库罗德C0已经能够举办实际运用了,这几天把手下的三个项目晋级到了OdysseyC0。但是就在自身写那篇blog的时候,刚开采拾.1三约等于今天Ionic2发表了安德拉C一,当中期维修补了Modal组件不能触发ionViewDidLoad事件的bug,那些bug小编早已蒙受过。看来离正式版很近了。当然凯雷德C0到大切诺基C一相比简单,首要是beta11到揽胜C更改非常的大。晋级步骤如下:

 

依靠官方认证,有二种升级格局,1种是新建三个新类型,将beta版本的代码拷过去;壹种是直接在beta项目基础上改。推荐第一种办法,因为LX570C的品种结构变化十分的大,最佳照旧新建多个来改。

 

这么就着力变成了从beta进级到MuranoC的长河。

附近难点:

build到Android的历程中,报错:

Unsupported major.minor version 52.0

那是因为Ionic2XC90C不匡助JDK壹.七 版本了,须求进步到JDK1.8技巧平常编写翻译。

完整而言进级到宝马X3C依旧很值得的。使用ionic serve命令时,Angular是dev格局:

4858美高梅 2

当使用ionic build android命令时,能够见到改为了prod即生产格局:

4858美高梅 3

如此编写翻译后的起步速度大大提升。

以上的内容首要参照了法定的升高文书档案,把重要的剧情翻译了弹指间。假设我们有此外晋级方面包车型大巴主题材料招待留言切磋。

官方进级表达地方:

国庆节前Ionic二发表了普拉多C0本子,已经捌玖不离十规范版了,前不久Angular二和TypeScript二也曾经宣告了正式版。…

完毕 Ionic
安装后,你能够创制第一个App了。本章内容将指点你新建三个App,增多一个页面,并且完成页面间的领航。

壹.创造项目

此次晋级进步了迟早的品质,引入了Angular贰的部分新特征,如@NgModule、援助AoT编写翻译(Ahead
of
Time)等,项目组织也发生了扭转。所以需求花一点时光把beta版本的品种进级到奥德赛C0,相对于提高的属性来讲,照旧很值得的。

本次跳级升高了必然的性质,引入了Angular二的有的新个性,如@NgModule、帮助AoT编写翻译(Ahead
of
Time)等,项目结构也发生了转换。所以必要花一点岁月把beta版本的花色进级到LacrosseC0,相对于提高的质量来讲,依然很值得的。

开发 Node 命令行,首先 cd 到项目目录,使用 start 命令来创制二个新App:

AoT能够在build阶段预先编写翻译模板,运行速度和页面切换速度都会巩固。官方提供了1个beta1一和大切诺基C0的对照效果图:

AoT能够在build阶段预先编译模板,运行速度和页面切换速度都会巩固。官方提供了3个beta1壹和凯雷德C0的对照效果图:

ionicstartMyIonic2Projecttutorial–v2

4858美高梅 4

4858美高梅 5

本条命令将下载项目模板,安装 npm modules,设置 Cordova的相干音信。tutorial 参数的情趣是下载 tutorial
模板来开端化项目,假设不点名那么些参数的话,举个例子:

能够看出,启用AoT的KoleosC0版本运维速度大大提高,首页加载速度比beta11版本快诸多。

能够观察,启用AoT的卡宴C0版本运维速度大大晋级,首页加载速度比beta1一版本快诸多。

ionicstartMyIonic2Project–v2

除了,猎豹CS6C0的build方式也转移了。普拉多C0放任了webpack,使用了Rollup。不用再设置Gulp来管理职分了,用npm
scrip来打包。可是对开采者使用的话并未怎么变动,依然利用Ionic
serve命令就能够,只是输出的剧情有所改变。采纳那种build格局后,自定义打包脚本也变得很轻便配置了。可参看Github项目地址:。

除此之外,OdysseyC0的build方式也改成了。XC60C0扬弃了webpack,使用了Rollup。不用再安装居尔p来治本职务了,用npm
scrip来打包。但是对开垦者使用的话并不曾什么变化,仍旧选用Ionic
serve命令就可以,只是输出的始末有着转换。选择那种build方式后,自定义打包脚本也变得很轻松配置了。可参照Github项目地址:。

暗中同意会选取 tabs 模板。

 

 

理所当然你也得以加一个 blank 参数,那样就是2个空项目。

花色布局的变动根本映今后引进了@NgModule,源代码从app目录移到了src目录,pages、providers这么些目录都未有转换。

品种布局的扭转根本反映在引进了@NgModule,源代码从app目录移到了src目录,pages、providers这几个目录都未曾调换。

–v二 的参数需要求加,不然会树立 v1.x 版本的花色。

 

 

若果退步,有一点都不小概率会冒出以下音讯:

对此从beta版本向来跟下来的开垦者来说,也许都碰着过API在分歧版本中用法不一样的意况,有的还变来变去,如Alert等零件的用法,展现1个Alert有的本子要调用Alert的法子有个别版本要调用AlertController的办法。帕杰罗C0也安静了API用法,应该不会有大的变动了。

对于从beta版本平昔跟下来的开垦者来讲,可能都遇到过API在不一样版本中用法差别的景观,有的还变来变去,如Alert等零件的用法,显示叁个Alert有的版本要调用Alert的法子有些版本要调用AlertController的办法。奥德赛C0也平静了API用法,应该不会有大的改观了。

CreatingIonicappinfolderE:\Workspaces\Ionic2\MyIonic2Projectbasedontutorialproject

 

 

那注脚 npm 安装的时候战败了,能够 cd 到项目目录,使用在此以前设置过的 cnpm
命令:

在编写翻译形式方面,beta版本以前要协和启用Angular贰的生育格局,LANDC0就总结大多,项目模板已经提供了dev形式和prod格局,使用ionic
serve命令调节和测试的时候是dev格局,当使用build命令时会自动切换来prod方式,相当方便。prod格局编写翻译出来的js文件体量大大收缩,运营速度也快了广大。

在编写翻译情势方面,beta版本在此之前要协和启用Angular二的生育方式,QashqaiC0就回顾许多,项目模板已经提供了dev格局和prod情势,使用ionic
serve命令调节和测试的时候是dev方式,当使用build命令时会自动切换来prod格局,非常有益。prod格局编写翻译出来的js文件体量大大收缩,运行速度也快了大多。

E:\Workspaces\Ionic2>cdMyIonic2Project

 

 

乃至最终输出接近以下音信:

其他还有壹部分变动,如:

别的还有部分转移,如:

All packages installed (319 packages installed from npm registry, use
2m, speed 37.49kB/s, json 659(4MB), tarball 1.07MB)

一、重新命名了生命周期事件名称:

1、重新命名了生命周期事件名称:

表明 npm modules 安装成功。

  ionViewLoaded事件改为ionViewDidLoad

  ionViewLoaded事件改为ionViewDidLoad

二.在浏览器中运作

  移除了IonViewDidUnload事件

  移除了IonViewDidUnload事件

最近 cd 到品种目录,使用 serve 命令来异常快浏览项目:

  从ViewController中移除了fireOtherLifecycles事件

  从ViewController中移除了fireOtherLifecycles事件

E:\Workspaces\Ionic2>cdMyIonic2ProjectE:\Workspaces\Ionic2\MyIonic2Project>ionicserve

2、将Storage从ionic-angular中改变来了三个单身的module——ionic-storage中,要是用到了该零件必要修改package.json然后npm
install。

2、将Storage从ionic-angular中更改成了三个单身的module——ionic-storage中,借使用到了该器件要求修改package.json然后npm
install。

接下去 CLI 会编写翻译项目,输出接近上面包车型大巴始末:

3、修改了color的用法:

3、修改了color的用法:

>ionic-app-base@watchE:\Workspaces\Ionic2\MyIonic2Project

  无法一贯给3个零部件加多color了,必须求改成属性的方法,以前能够这么用:

  无法直接给叁个组件增多color了,必须求改成属性的秘诀,从前能够如此用:

随之浏览器会张开叁个地方为
的窗口,端口号依据当下PC的莫过于情形或然会有变化,如果捌十0被侵占了会使用8十1等。

  <ion-tabs primary>

  <ion-tabs primary>

您能够观望运维效果:

  今后要改成那样:

  以后要改成那样:

4858美高梅 6

  <ion-tabs
color=”primary”>

  <ion-tabs
color=”primary”>

叁.项目社团

  受影响的零部件有:

  受影响的零件有:

现行反革命来看一下二个 Ionic 2 App 的结构。那是2个正规的 Cordova 项目布局。

  • Badge

  • Button

  • Checkbox

  • Chip

  • FAB

  • Icon

  • Item
    (Item, Item Divider, List Header)

  • Label

  • Navbar

  • Radio

  • Searchbar

  • Segment

  • Spinner

  • Tabs

  • Toggle

  • Toolbar

  • Typography
    (headers, paragraphs, spans, etc.)

  • Badge

  • Button

  • Checkbox

  • Chip

  • FAB

  • Icon

  • Item
    (Item, Item Divider, List Header)

  • Label

  • Navbar

  • Radio

  • Searchbar

  • Segment

  • Spinner

  • Tabs

  • Toggle

  • Toolbar

  • Typography
    (headers, paragraphs, spans, etc.)

./src/index.html

肆、修改了button组件的宣示格局,<button>要改成<button
ion-button>,<a button>改成<a ion-button>;Icon
Button的宣示情势也享有改动。

四、修改了button组件的扬言形式,<button>要改成<button
ion-button>,<a button>改成<a ion-button>;Icon
Button的宣示情势也装有变化。

./src/index.html是App的第壹进口,设置脚本和CSS,运维总体App。大家不会开销太多日子在那些文件上,你能够观察HTML代码里有1个<ion-app> 标签,像上边那样:

5、CSS引进情势也更动了。以前要分头引进八个阳台的css,由ionic动态加载,以后只需求以下1行就足以了:

5、CSS引进格局也扭转了。此前要分头引入四个阳台的css,由ionic动态加载,现在只需求以下一行就足以了:

<ion-app></ion-app>

  <link
href=”build/main.css” rel=”stylesheet”>

  <link
href=”build/main.css” rel=”stylesheet”>

在尾巴部分还有以下的脚本:

……

……

<scriptsrc=”cordova.js”></script><scriptsrc=”build/main.js”></script>

自家认为昂科拉C0已经能够实行实际应用了,这几天把手下的七个品类晋级到了奥德赛C0。不过就在自己写那篇blog的时候,刚开掘拾.13也正是前些天Ionic二公布了KugaC一,当中期维修补了Modal组件不能够触发ionViewDidLoad事件的bug,这一个bug笔者1度境遇过。看来离正式版很近了。当然LacrosseC0到HighlanderC一相比较不难,主若是beta11到陆风X八C改换一点都不小。晋级步骤如下:

自个儿觉着宝马7系C0已经得以进行实际运用了,这几天把手下的贰个系列进级到了本田CR-VC0。但是就在本身写那篇blog的时候,刚发掘十.一三也正是今天Ionic2公布了PAJEROC一,当中期维修补了Modal组件不能触发ionViewDidLoad事件的bug,这么些bug小编已经蒙受过。看来离正式版很近了。当然CR-VC0到卡宴C一比较轻巧,首若是beta1一到猎豹CS陆C改动极大。升级步骤如下:

build/main.js是自动生成的,实际上是把TypeScript转成了经常的JavaScript。

 

 

cordova.js在地点开垦的时候在浏览器中浏览会报40四荒唐,那么些文件会在Cordova打包的时候自动加到项目里。

依附官方认证,有三种晋级方式,一种是新建1个新类型,将beta版本的代码拷过去;1种是直接在beta项目基础上改。推荐第叁种办法,因为牧马人C的品类布局变迁非常大,最佳照旧新建2个来改。

据说官方认证,有二种进级形式,一种是新建2个新类型,将beta版本的代码拷过去;1种是直接在beta项目基础上改。推荐第壹种格局,因为EnclaveC的类型结构变化极大,最佳依然新建多少个来改。

./src/

 

 

在src目录里我们会找到原来的远非经过编写翻译的代码,那也是大家的第一工作目录。当大家运营ionic
serve命令的时候,在src/目录下的文本会被转译成准确的浏览器能够说明的JavaScript版本(当前是ES伍)。那象征大家能够使用高等的TypeScript,然而会编译回浏览器必要的老版本的JavaScript。src/app/app.module.ts是App的输入。

  1. 第二确定npm版本是3.x之上,使用npm
    -v命令来查看一下:

    4858美高梅 7

  2. 安装新型的Ionic
    CLI。若是在此以前装的是beta版,必须选拔npm uninstall -g
    ionic卸载掉,再重复使用npm install -g ionic安装。安装后选用ionic
    -v看一下本子,应该是二.1上述:
    4858美高梅 8

  3. 新建一个Ionic LX570C版本的app
    ionic start –v2 myApp

  4. 将beta项目标pages目录从app/pages复制到新品类的src/pages;providers目录从app/providers复制到src/providers;pipes目录从app/pipes复制到src/pipes;components目录也一律复制到src/components。

  5. 抱有组件的templateUrl,把build……那一串去掉,只留文件名,如build/pages/about/about.html改为about.html。

  6. 修改src/app/app.module.ts文件,Import全部的pages,并增多到declaration数组和entryComponents数组中。

  7. Import全数的components和pipes并增添到declaration数组中。

  8. Import全部的providers并增加到providers数组中。

  9. 修改全体的Component,移除providers、pipes和directives。从前只要在Component中不评释那几个事物是没办法用的,以往无须了,都在app.module.ts里声称了。

  10. 把模版中负有应用的变量的主要字由private改为public。那么些改换主要是为了AoT编写翻译,假如证明为private的变量,AoT是无法访问的。

  11. 修改全体的<button>标签,改为<button
    ion-button>.

  12. 修改全部用到color属性的地点,如<button
    primary>要求改为<button ion-button color=”primary”>。

  13. 把具有的ionic
    config转移到app.module.ts里的IonicModule.forRoot里。如IonicModule.forRoot(MyApp,{configObject})。

  14. 把sass文件中针对不一样平台的变量转移到theme/variables.scss文件中。

  15. 为各样要加多自定义样式的Component增添二个selector,为了让体制有二个功效域。那样各类独立的Component都得以有投机的体制效能域,意义更显然。如样式表中那样写:
    page-about {
    #title {
    color: blue;
    }
    }
    Component中如此写:
    @Component({
    selector: ‘page-about’,
    templateUrl: ‘about.html’
    })
    那样的话那些样式只会在该Component内起成效。

  16. 借使有img目录,必要转移到src/assets/img里,相应的修改一下图形
    路线。

  1. 第一肯定npm版本是三.x以上,使用npm
    -v命令来查阅一下:

    4858美高梅 9

  2. 设置新型的Ionic
    CLI。若是此前装的是beta版,必须利用npm uninstall -g
    ionic卸载掉,再另行使用npm install -g ionic安装。安装后选择ionic
    -v看一下版本,应该是二.壹之上:
    4858美高梅 10

  3. 新建3个Ionic 卡宴C版本的app
    ionic start –v2 myApp

  4. 将beta项目标pages目录从app/pages复制到新类型的src/pages;providers目录从app/providers复制到src/providers;pipes目录从app/pipes复制到src/pipes;components目录也1律复制到src/components。

  5. 装有组件的templateUrl,把build……那一串去掉,只留文件名,如build/pages/about/about.html改为about.html。

  6. 修改src/app/app.module.ts文件,Import全部的pages,并加多到declaration数组和entryComponents数组中。

  7. Import全数的components和pipes并增添到declaration数组中。

  8. Import全体的providers并加多到providers数组中。

  9. 修改全数的Component,移除providers、pipes和directives。此前只要在Component中不评释这几个事物是无法用的,现在不用了,都在app.module.ts里声称了。

  10. 把模版中颇具应用的变量的主要性字由private改为public。这么些改动首假使为着AoT编写翻译,如果评释为private的变量,AoT是不可能访问的。

  11. 修改全体的<button>标签,改为<button
    ion-button>.

  12. 修改全部用到color属性的地点,如<button
    primary>需求改为<button ion-button color=”primary”>。

  13. 把富有的ionic
    config转移到app.module.ts里的IonicModule.forRoot里。如IonicModule.forRoot(MyApp,{configObject})。

  14. 把sass文件中针对分化平台的变量转移到theme/variables.scss文件中。

  15. 为各类要增加自定义样式的Component增添一个selector,为了让体制有三个成效域。那样各样独立的Component都足以有和煦的体制效率域,意义更清晰。如样式表中那样写:
    page-about {
    #title {
    color: blue;
    }
    }
    Component中如此写:
    @Component({
    selector: ‘page-about’,
    templateUrl: ‘about.html’
    })
    那样的话这一个样式只会在该Component内起成效。

  16. 如果有img目录,须要改造来src/assets/img里,相应的更动一下图形
    路线。

在文件尾部大家会师到以下的代码:

如此就着力到位了从beta晋级到奥德赛C的长河。

那般就着力落成了从beta晋级到奔驰M级C的经过。

@NgModule({

广大难点:

相近难题:

declarations: [MyApp,HelloIonicPage, ItemDetailsPage, ListPage],

build到Android的历程中,报错:

4858美高梅,build到Android的进程中,报错:

imports: [IonicModule.forRoot(MyApp)],

Unsupported major.minor version 52.0

Unsupported major.minor version 52.0

bootstrap: [IonicApp],

那是因为Ionic二奥迪Q3C不协理JDK一.7版本了,供给提高到JDK一.捌才具符合规律编写翻译。

这是因为Ionic2猎豹CS陆C不协助JDK1.七版本了,要求提高到JDK一.8技巧健康编写翻译。

entryComponents: [MyApp,HelloIonicPage,ItemDetailsPage,ListPage],

全体来讲进级到昂CoraC仍然很值得的。使用ionic
serve命令时,Angular是dev方式:

完全来说进级到昂CoraC照旧很值得的。使用ionic
serve命令时,Angular是dev形式:

providers: []

4858美高梅 11

4858美高梅 12

})

当使用ionic build
android命令时,能够看看改为了prod即生产方式:

当使用ionic build
android命令时,能够看出改为了prod即生产格局:

export class AppModule {}

4858美高梅 13

4858美高梅 14

各种App都有二个root
module来决定应用中此外的有个别。若是您用过Ionic1和Angular1的话,有点类似ng-app。这也是大家采纳ionicBootstrap来运维应用的地点。

那样编写翻译后的运维速度大大升高。

如此编写翻译后的起步速度大大升高。

./src/app/app.html

以上的内容首要参照了法定的升官文书档案,把主要的剧情翻译了刹那间。假设大家有其它进级方面包车型客车主题材料接待留言商讨。

如上的剧情器重参考了法定的升官文书档案,把第三的始末翻译了须臾间。如果大家有别的晋级方面包车型客车标题应接留言研商。

src/app/app.html是生死攸关的沙盘文件:

合法进级表达地点:

法定进级表达地方:

<ion-menu [content]=”content”>

<ion-header>

<ion-toolbar>

<ion-title>Pages</ion-title>

</ion-toolbar>

</ion-header>

<ion-content>

<ion-list>

<button ion-item *ngFor=”let p of pages” (click)=”openPage(p)”>

{{p.title}}

</button>

</ion-list>

</ion-content>

</ion-menu>

<ion-nav id=”nav” [root]=”rootPage” #content
swipeBackEnabled=”false”></ion-nav>

在那些模板中,大家利用了ion-menu来作为菜单,使用ion-nav组件当做主要的内容区域。ion-menu的[content]个性被绑定到ion-nav的本地变量content上,所以它亦可见道要彰显怎么。

上边大家来看什么来创建新页面并完毕基本的导航。

四.增多页面

以后我们对Ionic 贰App的布局有了八个主导的认知,继续来促成拉长和导航页面包车型客车机能。

看一下src/app/app.html,在底部会看到以下代码:

<ion-nav id="nav" [root]="rootPage" #content swipeBackEnabled="false"></ion-nav>

专注root属性的绑定。对于ion-nav组件来讲,这是率先个恐怕说是“根”页面。当ion-nav组件载入时,组件引用的rootPage变量将会作为根页面被载入。

在src/app/app.component.ts,MyApp组件在构造函数里钦赐了这么些变量:

import {HelloIonicPage} from ‘../pages/hello-ionic/hello-ionic’;

export class MyApp {

// make HelloIonicPage the root (or first) page

rootPage: any = HelloIonicPage;

pages: Array<{title: string, component: any}>;

constructor(

private platform: Platform,

private menu: MenuController

) {

}

}

咱俩看到rootPage被装置为HelloIonicPage,所以HelloIonicPage将是nav
controller第3个载入的页面。

创立3个页面

接下去,我们看一下大家导入的HelloIonicPage页面。在src/pages/hello-ionic/目录下,张开hello-ionic.ts。

你能够小心到各类页面都有自个儿的目录,各类目录中都能够看看全体同等名字的.html和.scss文件。比方在hello-ionic/目录我们能够观望有hello-ionic.ts,
hello-ionic.html,
和hello-ionic.scss。即便那种格局不是必须的,但那有助于项目文件的不错组织。

接下去大家来看HelloIonicPage这一个类。这个类成立了贰个Page,即Angular中的Component(组件),并且会载入Ionic的导航系统。注意因为Page是被动态载入的,所以她们不须求selector:

import {Component} from ‘@angular/core’;

@Component({

templateUrl: ‘build/pages/hello-ionic/hello-ionic.html’

})

export class HelloIonicPage {}

负有的Page都以二个类,并且关系到相应的模版文件上。看一下src/pages/hello-ionic/hello-ionic.html,即这么些页面包车型大巴模板文件:

<ion-header>

<ion-navbar>

<button menuToggle>

<ion-icon name=”menu”></ion-icon>

</button>

<ion-title>Hello Ionic</ion-title>

</ion-navbar>

</ion-header>

<ion-content padding class=”getting-started”>

<h3>Welcome to your first Ionic app!</h3>

<p>

This starter project is our way of helping you get a functional app
running in record time.

</p>

<p>

Follow along on the tutorial section of the Ionic docs!

</p>

<p>

<button primary menuToggle>Toggle Menu</button>

</p>

</ion-content>

<ion-navbar>是navigation bar的沙盘。当大家导航到页面时,navigation
bar的按键和页面标题将会作为任何页面动画的1有的展现出来。

模板其他的一些是标准的Ionic代码,设置了剧情区域和输出我们的应接音讯。

创设1个新页面

创设这么些新页面,大家并不须要做过多布局,只供给保证设置好navigation
bar要体现的标题就能够了。

看一下src/pages/list/list.ts的始末,那里定义了1个新页面:

import { Component } from ‘@angular/core’;

import { NavController, NavParams } from ‘ionic-angular’;

import { ItemDetailsPage } from ‘../item-details/item-details’;

@Component({

templateUrl: ‘list.html’

})

export class ListPage { selectedItem: any; icons: string[]; items:
Array<{title: string, note: string, icon: string}>;

constructor(public navCtrl: NavController, public navParams: NavParams)
{

// If we navigated to this page, we will have an item available as a nav
param

this.selectedItem = navParams.get(‘item’);

this.icons = [‘flask’, ‘wifi’, ‘beer’, ‘football’, ‘basketball’,
‘paper-plane’, ‘american-football’, ‘boat’, ‘bluetooth’, ‘build’];

this.items = [];

for(let i = 1; i < 11; i++) {

this.items.push({

title: ‘Item ‘ + i,

note: ‘This is item #’ + i,

icon: this.icons[Math.floor(Math.random() * this.icons.length)]

});

}

}

itemTapped(event, item) {

this.navCtrl.push(ItemDetailsPage, {

item: item

});

}}

这几个页面将会成立三个中央的列表页面,包括部分数字。

大致上那一个页面跟大家事先看的HelloIonicPage相当接近。接下来大家看一下怎样导航到那么些新页面。

五.导航到页面

回想一下上个章节,大家在ListPage类里有部分底下的代码:

4858美高梅 15

你可能注意到我们引用了ItemDetailPage。大家用以下的代码将其import到app/pages/list/list.ts里:

import {ItemDetailsPage} from '../item-details/item-details';

当保存文件后,ionic
serve进程会自行重新编写翻译以使用新的改动,并活动刷新浏览器。重新看一下浏览器中的页面,当点击八个项时,它将会导航到详细情形页面。注意菜单开关被多少个回到按键替代了,那是Ionic服从的一种原生App的领航方式,当然那是足以被安插的。

干活规律

ionic2的导航像多少个轻易的栈,大家利用push方法来导航到新页面,将其放在栈的顶部,并展现3个回去开关。对于再次来到,大家运用pop方法将其从栈中移除。因为大家在构造函数中设置了this.navCtrl属性,我们能够调用this.navCtrl.push()方法,来导航到一个新的页面。大家还足以将一个object传递给将在导航过去的页面。使用push方法导航到新页面格外轻易,但Ionic的导航系统是格外灵活的。可以从导航文书档案处获得更详尽的领航示例。

对此Url,Ionic 二与Ionic
一是见仁见智的。大家要确认保证大家能够回到到某些Page,所以一般不采用Url来进展导航。当然大家在须求的时候依然有方法来利用Url导航的。

接下来

你曾经驾驭了Ionic 二的入门知识。你能够一连学习Ionic
二的各类Component,和关于硬件的Native APIs。

 


 

更加多angular百分之五10/4、ionic八分之四/三、react、vue、微信小程序、nodejs等本领小说、摄像教程和开源项目,请关怀微信公众号——全栈弄潮儿

4858美高梅 16

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图
Copyright @ 2010-2019 美高梅手机版4858 版权所有