ionic3学习笔记

1.导航:怎么运行的

要从一个页面导航到另一个页面,只需将新页面推入或弹出到堆栈上即可:
(1)push():导航到新页面
(2)pop():倒退页面

2.UI组件:

1.行动表
(饿了么点菜的菜单查看或者删除)
import { ActionSheetController } from 'ionic-angular';
2.警报
警报只能用于快速操作,如密码验证,小型应用通知或快速选项。

 import { AlertController } from 'ionic-angular'

类型:
a.基本警报;
b.提示警报;(提示将被用于询问用户密码)。
c.确认提醒:(删除通讯录)
d.无线电警报(确认警报)
e.复选框警报

3.徽章

向用户传达数值的小组件

<ion-badge item-end>260k</ion-badge>

4.纽扣

就是按钮,注意图标按钮可以只有图标没有文本

<!-- Only icon (no text) -->
<button ion-button icon-only>
  <ion-icon name="home"></ion-icon>
</button>
简单按钮,可以添加不同属性进行加强: 如small/large、outline、full/block/clear/round/
<button ion-button color="secondary">Secondary</button>

5.牌

也称为卡片

6.约会时间

DateTime组件用于显示一个界面,方便用户选择日期和时间

<ion-item>
  <ion-label>Start Time</ion-label>
  <ion-datetime displayFormat="h:mm A" pickerFormat="h mm A" [(ngModel)]="event.timeStarts"></ion-datetime>
</ion-item>

7.晶圆厂

FAB(浮动动作按钮)是标准材料设计组件。它们被塑造成一个代表一个促进行动的圆圈。按下时,可能会包含更多的相关操作。FABs的名字表示在固定位置上浮动内容。

<ion-fab right bottom>
    <button ion-fab color="light"><ion-icon name="arrow-dropleft"></ion-icon></button>
    <ion-fab-list side="left">
      <button ion-fab><ion-icon name="logo-facebook"></ion-icon></button>
      <button ion-fab><ion-icon name="logo-twitter"></ion-icon></button>
      <button ion-fab><ion-icon name="logo-vimeo"></ion-icon></button>
      <button ion-fab><ion-icon name="logo-googleplus"></ion-icon></button>
    </ion-fab-list>
  </ion-fab>

tap,press,pan,swipe,rotate,和pinch事件

<ion-card (tap)="tapEvent($event)">
  <ion-item>
    Tapped: {{tap}} times
  </ion-item>
</ion-card>

9.格

Ionic的网格系统基于flexbox,

网格系统由12列组成,每个ion-col都可以通过设置col-属性来确定大小。

<ion-grid>
  <ion-row>
    <ion-col col-12>This column will take 12 columns</ion-col>
  </ion-row>
  <ion-row>
    <ion-col col-6>This column will take 6 columns</ion-col>
  </ion-row>
</ion-grid>

10.图标

<ion-icon name="heart"></ion-icon>
类型: a、active和inactive状态 b.平台特定图标 要指定要用于每个平台的图标,请使用**md和ios**属性,并提供平台特定的图标名称。
<ion-icon ios="logo-apple" md="logo-android"></ion-icon>
c.可变图标 要使用变量设置图标:
<ion-icon [name]="myIcon"></ion-icon>
export class MyFirstPage {
  // use the home icon
  myIcon: string = "home";
}

11.输入

表单中的每个输入字段都有一个Control,一个绑定到该字段中的值的函数,并执行验证。一个控制组是控件的集合。

控制组处理表单提交,并提供可用于确定整个表单是否有效的高级API。
类型:
a.固定内联标签

 <ion-label fixed>Username</ion-label>

b.浮动标签floating
c.内联标签( 没有属性值,输入后也不会隐藏)
d.插入标签(通过将inset属性添加到父级ion-list组件来进行输入插入)
e.占位符标签placeholder=“”
f.堆叠标签stacked

12.清单(列表)

列表用于显示信息行,例如联系人列表,播放列表或菜单

13.载入中

加载组件是一个覆盖,可以防止用户在指示活动时进行交互。默认情况下,它显示基于模式的微调。

可以使用微调框传递和显示动态内容。可以隐藏或定制微调框以使用多个预定义的选项。即使在导航期间,载入指示器也会显示在其他内容的顶部

import { LoadingController } from 'ionic-angular';

14.菜单

菜单是可以拖出或切换显示的侧面菜单导航。

当菜单关闭时,菜单的内容将被隐藏。

15.情态动词

模式在关闭屏幕上滑动以显示临时UI,通常用于登录或注册页面,消息组合和选项选择

import { ModalController } from 'ionic-angular';
import { ModalPage } from './modal-page';

16.导航

导航是用户在应用中不同页面之间移动的方式

类型:
a.基本导航

通过组件进行处理,该组件作为一个简单的堆栈,新的页面被推到并弹出,对应于历史上向前和向后移动。

@Component({
  template: '<ion-nav [root]="rootPage"></ion-nav>'
})

如果您的页面有,则如果不是根页面,则会自动添加后退按钮,导航栏的标题将被更新;
但没有一个NavBar,你可以弹出当前页面的堆栈:

b.从根组件导航

通过添加一个引用变量ion-nav,可以@ViewChild用来获取Nav组件的一个实例,它是一个导航控制器(它扩展NavController):

@Component({
  template: '<ion-nav #myNav [root]="rootPage"></ion-nav>'
})
export class MyApp {
  @ViewChild('myNav') nav
  rootPage = TabsPage;

  // Wait for the components in MyApp's template to be initialized
  // In this case, we are waiting for the Nav identified by
  // the template reference variable #myNav
  ngAfterViewInit() {
    // Let's navigate from TabsPage to Page1
    this.nav.push(LoginPage);
  }
}

c.标签导航

导航可以嵌套在复杂组件(如Tabs)中

17.酥料饼

Popover是一个浮动在应用程序内容之上的视图
常见情形:
(1)显示有关当前视图的更多信息
(2)选择常用的工具或配置
(3)提供在您的一个视图中执行的操作列表

import { PopoverController } from 'ionic-angular';
import { MyPopOverPage } from './my-pop-over';

18.无线电:radio-group

像复选框一样,无线电是一个保存布尔值的输入组件。在引擎盖下,收音机与HTML无线电输入没有区别。

然而,像其他离子组件一样,无线电在每个平台上的风格不同。
与复选框不同,无线电组件组成一个组,每次只能选择一个无线电。使用该checked属性设置默认值,该disabled属性可禁用用户更改为该值。

19.范围

范围是一个控件,允许用户通过沿滑杆或轨道移动滑块旋钮从一系列值中进行选择。

<ion-item>
  <ion-range [(ngModel)]="brightness">
    <ion-icon range-left small name="sunny"></ion-icon>
    <ion-icon range-right name="sunny"></ion-icon>
  </ion-range>
</ion-item>

20.搜索栏

搜索栏绑定到模型,并在模型更改时发出输入事件。

<ion-searchbar (ionInput)="getItems($event)"></ion-searchbar>
<ion-list>
  <ion-item *ngFor="let item of items">
    {{ item }}
  </ion-item>
</ion-list>

getItems()当输入更改时调用该函数,该更新更新显示的城市。虽然此示例基于搜索输入过滤列表,但是可以在许多不同的场景中使用Searchbar:

21.分割:ion-segment

段是一组按钮显示的行。它们可以作为过滤器,根据段值显示/隐藏元素。

<div padding>
  <ion-segment [(ngModel)]="pet">
    <ion-segment-button value="kittens">
      Kittens
    </ion-segment-button>
    <ion-segment-button value="puppies">
      Puppies
    </ion-segment-button>
  </ion-segment>
</div>

<div [ngSwitch]="pet">
  <ion-list *ngSwitchCase="'puppies'">
    <ion-item>
      <ion-thumbnail item-start>
        <img src="img/thumbnail-puppy-1.jpg">
      </ion-thumbnail>
      <h2>Ruby</h2>
    </ion-item>
    ...
  </ion-list>

  <ion-list *ngSwitchCase="'kittens'">
    <ion-item>
      <ion-thumbnail item-start>
        <img src="img/thumbnail-kitten-1.jpg">
      </ion-thumbnail>
      <h2>Luna</h2>
    </ion-item>
    ...
  </ion-list>
</div>
<ion-slides pager>

  <ion-slide style="background-color: green">
    <h2>Slide 1</h2>
  </ion-slide>

  <ion-slide style="background-color: blue">
    <h2>Slide 2</h2>
  </ion-slide>

  <ion-slide style="background-color: red">
    <h2>Slide 3</h2>
  </ion-slide>

</ion-slides>

24.标签

Tabs为多标签界面提供了一个Tab Bar和一组可以标签化的视图。

<ion-tabs>
      <ion-tab tabIcon="heart" [root]="tab1"></ion-tab>
      <ion-tab tabIcon="star" [root]="tab2"></ion-tab>
    </ion-tabs>

a.要初始化Tabs,请为每个选项卡使用一个小孩

b.个别标签只是 @Components:

import { Component } from '@angular/core';

@Component({
  template: `
  <ion-header>
    <ion-navbar>
      <ion-title>Heart</ion-title>
    </ion-navbar>
  </ion-header>
  <ion-content>Tab 1</ion-content>`
})
export class Tab1 {}

c.每个标签都有自己的历史堆栈,并NavController instances injected为孩子们@Components每个选项卡的将是唯一的每个选项卡

import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';

@Component({
...
})
class Tab1 {
  constructor(public navCtrl: NavController) {
    // Id is 1, nav refers to Tab1
    console.log(this.nav.id)
  }
}

25.图标和文字

要在选项卡内添加文本和图标,请使用tab-icon和tab-title属性:

要在选项卡内添加图标,请使用该tab-icon属性。该属性可以传递任何图标的名称:

<ion-tabs>
    <ion-tab tabIcon="contact" [root]="tab1"></ion-tab>
    <ion-tab tabIcon="compass" [root]="tab2"></ion-tab>
    <ion-tab tabIcon="analytics" [root]="tab3"></ion-tab>
    <ion-tab tabIcon="settings" [root]="tab4"></ion-tab>
  </ion-tabs>

每个都绑定到一个[root]属性,就像上面的导航部分一样。那是因为每个都只是一个导航控制器

26.徽章

要向选项卡添加徽章,请使用tabBadge和tabBadgeStyle属性。该tabBadgeStyle属性可以传递任何颜色的名称

<ion-tab tabIcon="call" [root]="tabOne" tabBadge="3" tabBadgeStyle="danger"></ion-tab>

27.烤面包

Toast会在短时间内显示,然后自动关闭

import { ToastController } from 'ionic-angular';

export class MyPage {
  constructor(public toastCtrl: ToastController) {
  }

  presentToast() {
    let toast = this.toastCtrl.create({
      message: 'User was added successfully',
      duration: 3000
    });
    toast.present();
  }
}

28.切换

toggle是一个保存布尔值的输入组件。像复选框一样,切换通常用于允许用户切换设置。属性,如value,disabled以及checked可应用于切换来控制其行为。

<ion-item>
  <ion-label> Sam</ion-label>
  <ion-toggle disabled checked="false"></ion-toggle>
</ion-item>

29.工具栏

工具栏是可以在应用程序中用作标题,子标题,页脚或甚至子页脚的通用栏。

由于ion-toolbar是基于flexbox,无论您的页面中有多少工具栏,它们将被正确显示,并ion-content相应地进行调整

a.基本用法

<ion-header>
  <ion-toolbar>
    <ion-title>Toolbar</ion-title>
  </ion-toolbar>
</ion-header>

b.改变颜色

c.工具栏中的按钮

按钮可以添加到页眉和页脚工具栏。要向工具栏添加按钮,我们需要先添加一个ion-buttons组件。该组件包装一个或多个按钮,并且可以给予start或end属性来控制其包含的按钮的位置

<ion-header>
  <ion-toolbar>
    <ion-buttons start>
      <button ion-button icon-only color="royal">
        <ion-icon name="search"></ion-icon>
      </button>
    </ion-buttons>
    <ion-title>Send To...</ion-title>
    <ion-buttons end>
      <button ion-button icon-only color="royal">
        <ion-icon name="person-add"></ion-icon>
      </button>
    </ion-buttons>
  </ion-toolbar>
</ion-header>

d.工具栏中的细分

分段是允许用户在不同数据集之间切换的好方法。使用以下标记将段添加到工具栏

<ion-header>
  <ion-toolbar>
    <ion-buttons start>
      <button ion-button icon-only>
        <ion-icon name="create"></ion-icon>
      </button>
    </ion-buttons>
    <ion-segment>
      <ion-segment-button value="new">
        New
      </ion-segment-button>
      <ion-segment-button value="hot">
        Hot
      </ion-segment-button>
    </ion-segment>
    <ion-buttons end>
      <button ion-button icon-only>
        <ion-icon name="more"></ion-icon>
      </button>
    </ion-buttons>
  </ion-toolbar>
</ion-header>

e.工具栏中的搜索栏

在工具栏中包含一个搜索栏。

<ion-header>
  <ion-toolbar color="primary">
    <ion-searchbar (input)="getItems($event)"></ion-searchbar>
  </ion-toolbar>
</ion-header>
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
IONIC 功能全演示 ===================== - 使用Ionic提供的UI 组件。Ionic本身是致力于建立统一的移动混合app构建平台,核心基础是Angular+Cordova。 - 通过Angular指令封装,以及预定义的CSS,提供了开箱即用的HTML5 Mobile组件。 - 构建与开发支持,能够直接运行www目录下的index.html进行开发调试。同时也支持发布人员利用gulp构建输出到dist目录 - 利用gulp,同样演示了单元测试以及场景测试。 - [在线演示,内有地址二维码,可手机浏览](http://1.thm1118.sinaapp.com/static/ionic/www/index.html) ## 预览 ![信息卡片](screenshot/card.png) ![下拉刷新](screenshot/pullrefress.png) ![表单元素](screenshot/form.png) ![菜单](screenshot/menu.png) ![列表左滑按钮](screenshot/option.png) ![弹出层](screenshot/pop.png) ![tab](screenshot/tab.png) ![幻灯](screenshot/slide.png) ![图片水平滚动](screenshot/hscroll.png) ![毛玻璃效果](screenshot/blure.png) ![2000条数据搜索](screenshot/search.png) ![输入自动完成](screenshot/autocomplete.png) ![列表自动分组](screenshot/autogroup.png) ![媒体相册](screenshot/galaxy.png) ![chartjs统计图](screenshot/chartjs.png) ![百度统计图](screenshot/echat.png) ![图片延时加载](screenshot/imageload.png) ## 基础环境 纯webapp运行或演示,只需要一个 web server部署即可。 ## 目录结构说明 - www 目录:源码目录 - dist目录:构建输出目录 ## 利于开发,测试和打包部署的nodejs环境 简单开发可以不依赖nodejs环境。但是有了基于nodejs的javascript完整开发周期环境,会极大提升开发效率,保障质量。 - nodejs 最新版。 - 有些node包的安装需要c++编译,x86版本只需要 x86的C++编译器,windows上的x64 c++编译器需要特别设置。 - npm 会很慢,要么使用代理,要么使用国内镜像,比如 [淘宝镜像](http://npm.taobao.org/) , 使用淘宝镜像后,npm命令需要替换成cnpm命令。 - `npm install -g gulp` - `npm install -g ionic` - 如需编译sass的话,安装 [ruby](https://www.ruby-lang.org/zh_cn/),再执行 `gem install sass`(如遇到ssl错误,修改为http源:gem source -a http://rubygems.org/) - `npm install -g node-gyp` - 有的node包依赖python编译,安装 [python2.7](https://www.python.org/) - c++编译环境[MSVStudio 免费版](https://www.visualstudio.com/downloads/download-visual-studio-vs#d-express-windows-desktop).。注意根据studio不同版本指定 --msvs_version=2013 选项 - 安装项目开发依赖包,在项目根目录下运行 `npm install` ### “所见即所得”式开发 - 在项目根目录下运行 `ionic serve`,即可在www目录下开展“所见即所得”的方式开发 - 另外一种方式,在webstorm里对index.html 按debug运行,同样是“所见即所得”的方式开发 ### CROS支持 - 生产环境的 CROS支持要么使用jsonp技术,要么在服务端设置代理。 - 而开发环境下要么 基于不安全做法,服务端api 设置头`Access-Control-Allow-Origin:*" `,要么按如下便捷设置: 基于`ionic serve`, 可以在开发时使用本地代理。ionic.project 内设
Ionic是一个开源的框架,用于构建跨平台的移动应用程序。Ionic提供了多种项目模板,包括blank、tabs和sidemenu。下面详细介绍这三种模板及其特点。 1. blank模板:blank模板是最简单的项目模板,仅包含一个空白页面。它适用于需要完全自定义应用程序界面的开发人员。使用blank模板,开发人员可以从头开始构建应用程序的每个部分,包括导航、布局和功能。blank模板的优势是灵活性和自由度高,但需要开发人员具备一定的前端开发经验。 2. tabs模板:tabs模板是一个带有选项卡的项目模板,适用于构建具有多个内容页面的应用程序。在tabs模板中,应用程序的不同功能模块将被放置在不同的选项卡下。tabs模板提供了一个预定义的布局和导航结构,使得开发人员能够快速构建具有标准选项卡布局的应用程序。tabs模板的优势是易用性和快速开发,适合构建简单的多页应用程序。 3. sidemenu模板:sidemenu模板是一个带有侧边栏菜单的项目模板,适用于构建具有导航菜单和各种页面的应用程序。在sidemenu模板中,导航菜单将显示在应用程序的侧边栏上,并且可以通过点击菜单项来导航到不同的页面。sidemenu模板提供了一个预定义的布局和导航结构,使得开发人员能够快速构建具有侧边菜单导航的应用程序。sidemenu模板的优势是易用性和导航功能的便捷性,适合构建具有复杂导航结构的应用程序。 总之,Ionic提供了这三种项目模板来满足不同开发需求。blank模板适用于自定义程度较高的开发,tabs模板适用于构建简单的多页应用,sidemenu模板适用于构建具有复杂导航结构的应用。开发人员可以根据自己的需求选择适合的模板来快速构建应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值