ionic二快捷上手

国庆节前Ionic2发表了奥迪Q7C0版本,已经8玖不离10规范版了,前不久Angular二和TypeScript2也曾经发表了正式版。详细情形请参考官方博客:

国庆节前Ionic二发表了TiguanC0版本,已经八玖不离10规范版了,前不久Angular二和TypeScript二也早已发表了正式版。详细情形请参考官方博客:

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

国庆节前Ionic贰揭橥了汉兰达C0版本,已经接近规范版了,前不久Angular贰和TypeScript2也早就公布了正式版。实际情况请参考官方博客:

这一次进级升高了迟早的品质,引入了Angular2的部分新特征,如@NgModule、扶助AoT编写翻译(Ahead
of
提姆e)等,项目组织也发生了转移。所以需求花一点时光把beta版本的品种晋级到汉兰达C0,相对于进步的属性来讲,照旧很值得的。

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

澳门葡京 1

能够看看,启用AoT的LacrosseC0版本运营速度大大提高,首页加载速度比beta1一版本快多数。

ionic二快捷上手。而外,WranglerC0的build方式也改动了。凯雷德C0抛弃了webpack,使用了Rollup。不用再安装居尔p来治本职务了,用npm
scrip来打包。不过对开辟者使用的话并未怎么变化,照旧利用Ionic
serve命令就能够,只是输出的剧情有所调换。选择那种build格局后,自定义打包脚本也变得很轻松配置了。可参看Github项目地址:

 

类型布局的变迁根本浮以往引进了@NgModule,源代码从app目录移到了src目录,pages、providers这一个目录都并没有成形。

 

对此从beta版本平素跟下来的开采者来讲,可能都遇到过API在分化版本中用法差异的气象,有的还变来变去,如Alert等零件的用法,呈现3个Alert有的版本要调用Alert的法子有个别版本要调用AlertController的办法。OdysseyC0也平稳了API用法,应该不会有大的改换了。

 

在编写翻译格局方面,beta版本以前要自个儿启用Angular2的生产情势,LX570C0就总结许多,项目模板已经提供了dev格局和prod情势,使用ionic
serve命令调节和测试的时候是dev格局,当使用build命令时会自动切换来prod格局,极度便宜。prod格局编写翻译出来的js文件容量大大收缩,运行速度也快了累累。

 

任何还有部分变动,如:

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

  ionViewLoaded事件改为ionViewDidLoad

  移除了IonViewDidUnload事件

  从ViewController中移除了fireOtherLifecycles事件

2、将Storage从ionic-angular中改形成了3个独自的module——ionic-storage中,假若用到了该零件需求修改package.json然后npm
install。

3、修改了color的用法:

  不可能直接给1个零件增多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已经能够举办实际运用了,这几天把手头的一个项目进级到了福特ExplorerC0。然则就在自个儿写这篇blog的时候,刚发掘十.一三也正是明天Ionic2宣布了卡宴C1,个中期维修补了Modal组件不能触发ionViewDidLoad事件的bug,这几个bug小编一度蒙受过。看来离正式版很近了。当然陆风X8C0到RC一相比轻易,首尽管beta1一到福特ExplorerC更换比较大。晋级步骤如下:

 

依赖官方认证,有三种进级方式,1种是新建三个新品类,将beta版本的代码拷过去;一种是一直在beta项目基础上改。推荐第三种方法,因为中华VC的类型结构变化比非常的大,最好依旧新建2个来改。

 

这么就基本到位了从beta晋级到RubiconC的经过。

广阔难点:

build到Android的进度中,报错:

Unsupported major.minor version 52.0

那是因为Ionic二RAV4C不援救JDK一.柒 版本了,要求晋级到JDK1.捌技术符合规律编写翻译。

总体来讲进级到汉兰达C依然很值得的。使用ionic serve命令时,Angular是dev形式:

澳门葡京 2

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

澳门葡京 3

如此编写翻译后的开发银行速度大大进步。

上述的始末根本参照了合法的晋级文书档案,把首要的剧情翻译了须臾间。假如大家有其它进级方面包车型大巴难题招待留言探讨。

法定升级表达地点:

国庆节前Ionic二发表了奥迪Q5C0版本,已经接近标准版了,前不久Angular二和TypeScript2也早就发表了正式版。…

完了 Ionic
安装后,你能够创设第壹个App了。本章内容将辅导你新建三个App,增添3个页面,并且落成页面间的导航。

一.创办项目

这一次晋级提升了自然的习性,引入了Angular贰的一些新特色,如@NgModule、扶助AoT编写翻译(Ahead
of
Time)等,项目结构也产生了扭转。所以需求花一点时刻把beta版本的品类进级到昂CoraC0,相对于升高的性质来讲,依旧很值得的。

此次升级进步了自然的个性,引入了Angular二的有些新特点,如@NgModule、帮助AoT编写翻译(Ahead
of
Time)等,项目组织也发出了变动。所以必要花一点时日把beta版本的类型进级到路虎极光C0,相对于提高的习性来讲,还是很值得的。

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

AoT能够在build阶段预先编写翻译模板,运营速度和页面切换速度都会增长。官方提供了2个beta1壹和逍客C0的对峙统一效果图:

AoT能够在build阶段预先编写翻译模板,运行速度和页面切换速度都会增长。官方提供了二个beta1一和昂科威C0的周旋统1效果图:

ionicstartMyIonic2Projecttutorial–v2

澳门葡京 4

澳门葡京 5

其一命令将下载项目模板,安装 npm modules,设置 Cordova的有关音信。tutorial 参数的意思是下载 tutorial
模板来伊始化项目,若是不点名这几个参数的话,比方:

能够看出,启用AoT的TucsonC0版本运行速度大大进步,首页加载速度比beta1一版本快繁多。

能够观望,启用AoT的GL450C0版本运营速度大大进级,首页加载速度比beta11版本快许多。

ionicstartMyIonic2Project–v2

除了,KugaC0的build格局也改成了。福睿斯C0屏弃了webpack,使用了Rollup。不用再安装居尔p来治本职责了,用npm
scrip来打包。然而对开垦者使用的话并未怎么变动,如故选拔Ionic
serve命令就可以,只是输出的始末有着扭转。选取那种build格局后,自定义打包脚本也变得很轻易配置了。可参照Github项目地址:。

除了这几个之外,XC60C0的build格局也改动了。OdysseyC0丢弃了webpack,使用了Rollup。不用再安装居尔p来保管职务了,用npm
scrip来打包。可是对开垦者使用以来并不曾什么变化,依然使用Ionic
serve命令就能够,只是输出的内容具有变动。采取那种build方式后,自定义打包脚本也变得很轻松配置了。可参考Github项目地址:。

默许会选择 tabs 模板。

 

 

当然你也足以加3个 blank 参数,那样正是三个空项目。

项目结构的改换重要反映在引进了@NgModule,源代码从app目录移到了src目录,pages、providers那些目录都未曾调换。

类型布局的扭转根本反映在引进了@NgModule,源代码从app目录移到了src目录,pages、providers那一个目录都未曾转换。

–v二 的参数必须求加,否则会确立 v壹.x 版本的品类。

 

 

万一失利,有望会现出以下音信:

对此从beta版本一贯跟下来的开荒者来讲,大概都蒙受过API在分裂版本中用法区别的情况,有的还变来变去,如Alert等零件的用法,展现一个Alert有的版本要调用Alert的形式有些版本要调用AlertController的格局。LX570C0也牢固了API用法,应该不会有大的更动了。

对于从beta版本平素跟下来的开垦者来讲,大概都境遇过API在不一样版本中用法不一致的景色,有的还变来变去,如Alert等零件的用法,呈现2个Alert有的本子要调用Alert的形式有些版本要调用AlertController的方式。OdysseyC0也平稳了API用法,应该不会有大的变动了。

CreatingIonicappinfolderE:\Workspaces\Ionic2\MyIonic2Projectbasedontutorialproject

 

 

那表达 npm 安装的时候退步了,能够 cd 到项目目录,使用在此以前设置过的 cnpm
命令:

在编译格局方面,beta版本从前要自个儿启用Angular2的生产情势,KoleosC0就大致诸多,项目模板已经提供了dev方式和prod格局,使用ionic
serve命令调节和测试的时候是dev格局,当使用build命令时会自动切换来prod方式,分外方便。prod格局编写翻译出来的js文件容积大大减弱,运转速度也快了广大。

在编写翻译方式方面,beta版本以前要自身启用Angular2的生产方式,汉兰达C0就大约大多,项目模板已经提供了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)

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

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

表明 npm modules 安装成功。

  ionViewLoaded事件改为ionViewDidLoad

  ionViewLoaded事件改为ionViewDidLoad

2.在浏览器中运转

  移除了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了,必必要改成属性的艺术,从前能够这么用:

  不可能一直给1个组件加多color了,必供给改成属性的办法,从前能够那样用:

继之浏览器会张开一个地点为
的窗口,端口号遵照当下PC的实际上情形可能会有浮动,如若八十0被挤占了会使用捌十一等。

  <ion-tabs primary>

  <ion-tabs primary>

你能够见见运营效果:

  以后要改成这么:

  将来要改成这么:

澳门葡京 6

  <ion-tabs
color=”primary”>

  <ion-tabs
color=”primary”>

3.品类结构

  受影响的机件有:

  受影响的组件有:

现在来看一下七个 Ionic 二 App 的构造。那是多少个行业内部的 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的表明格局也享有改动。

4、修改了button组件的扬言模式,<button>要改成<button
ion-button>,<a button>改成<a ion-button>;Icon
Button的宣示格局也有着变化。

./src/index.html是App的要紧输入,设置脚本和CSS,运维总体App。我们不会费用太多时间在那个文件上,你能够看看HTML代码里有二个<ion-app> 标签,像上边那样:

⑤、CSS引进方式也改换了。以前要分头引进三个阳台的css,由ionic动态加载,以后只要求以下①行就能够了:

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>

作者感到PRADOC0已经能够开始展览实际选拔了,这几天把手头的一个品种进级到了途乐C0。但是就在笔者写那篇blog的时候,刚开掘10.1三相当于后天Ionic二发表了RC一,个中期维修补了Modal组件不大概触发ionViewDidLoad事件的bug,那一个bug笔者一度遭遇过。看来离正式版很近了。当然卡宴C0到ENVISIONC一相比轻易,首借使beta1一到CR-VC更换十分的大。进级步骤如下:

自家以为本田CR-VC0已经能够进行实际应用了,这几天把手下的3个品种进级到了陆风X八C0。然则就在自个儿写那篇blog的时候,刚开采10.一三也正是前几日Ionic二发布了昂科威C一,当中期维修补了Modal组件不能够触发ionViewDidLoad事件的bug,那几个bug作者1度蒙受过。看来离正式版很近了。当然LANDC0到CR-VC一相比较轻便,首尽管beta1一到途胜C改动比较大。进级步骤如下:

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

 

 

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

基于官方表达,有三种进级形式,1种是新建三个新类型,将beta版本的代码拷过去;一种是直接在beta项目基础上改。推荐第一种办法,因为宝马7系C的项目布局变迁非常的大,最佳照旧新建贰个来改。

依据官方认证,有三种晋级格局,一种是新建贰个新品类,将beta版本的代码拷过去;一种是一贯在beta项目基础上改。推荐第3种方法,因为RAV4C的品种结构调换很大,最棒还是新建3个来改。

./src/

 

 

在src目录里大家会找到原来的未有通过编写翻译的代码,那也是我们的要紧办事目录。当我们运维ionic
serve命令的时候,在src/目录下的公文仲被转译成准确的浏览器能够解释的JavaScript版本(当前是ES五)。那代表我们得以行使高等的TypeScript,可是会编写翻译回浏览器要求的老版本的JavaScript。src/app/app.module.ts是App的输入。

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

    澳门葡京 7

  2. 设置新型的Ionic
    CLI。假使从前装的是beta版,必须选择npm uninstall -g
    ionic卸载掉,再重新利用npm install -g ionic安装。安装后采纳ionic
    -v看一下版本,应该是贰.一上述:
    澳门葡京 8

  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目录也同样复制到src/components。

  5. 抱有组件的templateUrl,把build……那1串去掉,只留文件名,如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. 第1断定npm版本是三.x之上,使用npm
    -v命令来查看一下:

    澳门葡京 9

  2. 安装新型的Ionic
    CLI。如若在此以前装的是beta版,必须选择npm uninstall -g
    ionic卸载掉,再重复使用npm install -g ionic安装。安装后使用ionic
    -v看一下本子,应该是二.一上述:
    澳门葡京 10

  3. 新建一个Ionic PAJEROC版本的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晋级到昂科威C的进程。

@NgModule({

周围难点:

常见难点:

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

build到Android的进度中,报错:

build到Android的长河中,报错:

imports: [IonicModule.forRoot(MyApp)],

Unsupported major.minor version 52.0

Unsupported major.minor version 52.0

bootstrap: [IonicApp],

那是因为Ionic二PAJEROC不援救JDK一.7版本了,必要进级到JDK一.8才具平常编写翻译。

那是因为Ionic二LANDC不帮衬JDK1.7版本了,要求提升到JDK一.捌工夫常常编写翻译。

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

完整来讲升级到库罗德C如故很值得的。使用ionic
serve命令时,Angular是dev形式:

一体化来讲晋级到CR-VC依然很值得的。使用ionic
serve命令时,Angular是dev情势:

providers: []

澳门葡京 11

澳门葡京 12

})

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

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

export class AppModule {}

澳门葡京 13

澳门葡京 14

每一个App都有四个root
module来调控应用中任何的片段。假诺您用过Ionic一和Angular一的话,有点类似ng-app。那也是大家运用ionicBootstrap来运维应用的地方。

这么编写翻译后的起步速度大大进步。

诸如此类编写翻译后的开发银行速度大大提升。

./src/app/app.html

如上的剧情根本参照了官方的进级文书档案,把重大的内容翻译了瞬间。如若大家有其它晋级方面包车型客车标题接待留言研讨。

上述的始末根本参照了合法的晋级文书档案,把重大的内容翻译了1晃。借使大家有其余晋级方面包车型地铁难点招待留言商讨。

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 2App的布局有了一个主干的认知,继续来贯彻拉长和导航页面包车型大巴功用。

看一下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第1个载入的页面。

创建多少个页面

接下去,大家看一下我们导入的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的按键和页面标题将会作为全部页面动画的一片段展现出来。

模板别的的某个是标准的Ionic代码,设置了剧情区域和输出大家的欢迎新闻。

创办二个新页面

创立那一个新页面,我们并不供给做过多布局,只须要保障设置好navigation
bar要呈现的标题就可以了。

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

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非凡接近。接下来大家看一下哪些导航到那个新页面。

5.导航到页面

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

澳门葡京 15

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

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

当保存文件后,ionic
serve进程会自行重新编译以利用新的变动,并自动刷新浏览器。重新看一下浏览器中的页面,当点击二个项时,它将会导航到详细情况页面。注意菜单按键被二个重临开关代替了,那是Ionic服从的一种原生App的导航格局,当然那是能够被安排的。

职业原理

ionic二的导航像三个简约的栈,我们利用push方法来导航到新页面,将其放在栈的顶部,并展现一个赶回开关。对于再次来到,大家运用pop方法将其从栈中移除。因为大家在构造函数中设置了this.navCtrl属性,大家得以调用this.navCtrl.push()方法,来导航到叁个新的页面。大家还足以将多个object传递给将要导航过去的页面。使用push方法导航到新页面非凡简单,但Ionic的导航系统是至极灵活的。能够从导航文书档案处拿到更详细的领航示例。

对此Url,Ionic 二与Ionic
一是区别的。大家要保管大家可以重回到有些Page,所以一般不采用Url来开始展览导航。当然咱们在须要的时候依然有点子来选取Url导航的。

接下来

你早已领悟了Ionic 二的入门知识。你能够继承学习Ionic
二的各样Component,和关于硬件的Native APIs。

 


 

越来越多angular二分一/肆、ionic八分之四/三、react、vue、微信小程序、nodejs等技术小说、录像教程和开源项目,请关心微信公众号——全栈弄潮儿

澳门葡京 16

相关文章

发表评论

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

*
*
Website