• Ionic 学习笔记


    本文为原创,转载请注明出处: cnzt       文章:cnzt-p

    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实例进行导航。

        @ViewChild(Nav) nav: Nav;
      
        nav.push(.......)

      3. 此外,ion-tab也可以绑定[root]来做路由,每个ion-tab拥有自己的历史栈,且每个ion-tab对应的navController实例是唯一的。

  • 相关阅读:
    redis介绍;特性介绍
    日常2018/4/9---b/s和c/s架构分别是什么?区别?
    持续集成实践---基于ant+jmeter+jenkins接口CI
    面向过程 和 面向对象个人理解
    记一次vc++6.0中程序正常,转 vs2019 c++后报错的问题
    C# 调用C++ dll EntryPointNotFoundException错误
    uniapp踩坑记录(持续更新)
    uniapp引用组件rate评分无法点击引起对style scoped学习
    sql server之time字段详解
    sql server之timestamp字段详解(转)
  • 原文地址:https://www.cnblogs.com/zt-blog/p/7831153.html
Copyright © 2020-2023  润新知