博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ionic4 入坑之谈
阅读量:6869 次
发布时间:2019-06-26

本文共 2341 字,大约阅读时间需要 7 分钟。

  • 1.背景

    • 介绍

      Ionic是一个开源UI工具包,用于使用Web技术(HTML,CSS和JavaScript)构建高性能的高质量移动和桌面应用程序。(构建和部署跨多个平台的应用程序,例如iOS,Android,桌面和Web作为渐进式Web应用程序 )
    • 版本:

      目前Ionic最新版本是V4,V4仍然通过@ionic/angular包与Angular深度集成,可以与任何其他JavaScript框架(Vue,React,Preact等)一起使用。
  • 2.创建项目

    • 搭建环境

      • 安装node.js
      • 安装Ionic CLI npm install -g ionic
      • 查看ionic是否安装成功 ionic -v
      • 安装成功之后,创建项目 ionic start myApp tabs (官方提供3种模板:blank,tabs,sidemenu)
      • 创建成功,运行项目 ionic serve
  • 3.项目目录

    • src目录:项目代码和资源

      • app文件:项目代码
      • assets文件:存放样式,图片资源和引入第三方js文件等
      • theme文件:存放默认样式
      • global.scss:引入样式

  • 4.app目录

    • app.routing.module.ts:路由文件
    • app.component.html:主页面
    • app.module.ts :模板文件

  • 5.theme/variables.scss文件

    *由于ionic样式是用sass框架写的,所以想改默认样式,必须先F12找出所定义样式的变量,然后重新赋值覆盖之前的。(修改默认样式的坑很大,祝好运~)

  • 6.Ionic文档之“巨坑”

    由于Ionic目前还不是很成熟,Ionic3和Ionic4的差别巨大,Ionic版本一直在更新,所以官方给出的文档并不是很清晰。下面就介绍之前做项目使用官方提供的插件。

    • "ion-tabs"(底部导航)

      安装Ionic项目是选择tabs的模板,自动生成一个tab组件,无需配置就可以使用;假如你是选择其他模板,你必须自行创建tab组件,再配置路由就可。

      这里要介绍的是官方提供的API文档中的方法,如下:(看完一脸懵逼~!!)

    场景:更换Ionic自带的tabs模板中的图标?? 通过getSeclect方法获取选中tabs的值,控制显示自定义图标 ???

    • "ion-picker"(选择器)

      一般应用都有选择器,例如选择性别,日期,时间,城市或者其他。

      文档中只提供了一个Demo,但没有提供如何在项目中使用该控件。

      贴出代码,如下: xxxx.component.ts

    import { PickerController } from '@ionic/angular'    /.../    public pickercontroller: PickerController     /.../          const multiColumnOptions = [  [    'Minified',    'Responsive',    'Full Stack',    'Mobile First',    'Serverless'  ],  [    'Tomato',    'Avocado',    'Onion',    'Potato',    'Artichoke'  ]]     async  creat(multiColumnOptions: any, type: any) {	const picker = await this.pickercontroller.create({		columns: this.getColumns(numColumns, numOptions, multiColumnOptions),		buttons: [			{				text: '取消',				role: 'cancel'			},			{				text: '完成',				handler: (value) => {					console.log(`Got Value ${value}`);				}			}		],	})	await picker.present();	};	function getColumns(numColumns, numOptions, columnOptions) {  let columns = [];  for (let i = 0; i < numColumns; i++) {    columns.push({      name: `col-${i}`,      options: this.getColumnOptions(i, numOptions, columnOptions)    });  }    return columns;}function getColumnOptions(columnIndex, numOptions, columnOptions) {  let options = [];  for (let i = 0; i < numOptions; i++) {    options.push({      text: columnOptions[columnIndex][i % numOptions],      value: i    })  }  return options;}   复制代码

  • 结语

    以上就是之前在Ionic项目中遇到问题的总结,不得不说头发掉了好几十根~希望对您有帮助

转载于:https://juejin.im/post/5c9453cd5188252da6320961

你可能感兴趣的文章
Git使用详细教程
查看>>
临时邮箱
查看>>
开源史上最成功的8个开源产品
查看>>
为vsftpd 本地用户指定目录
查看>>
springboot集成swagger-UI 开发API项目
查看>>
RabbitMQ学习总结(4)——分发任务在多个工作者之间实例教程
查看>>
HPP文件还是CPP文件
查看>>
oracle listener 详解("DEDICATED" established:0 refused:0)
查看>>
回顾 | 开源分布式中间件DBLE社区分享活动总结
查看>>
joomla代码编译入门(创世纪新篇0
查看>>
自动化运维之善用zabbix监控网站下载速度
查看>>
我的友情链接
查看>>
碎碎的笔记(二)
查看>>
我的友情链接
查看>>
Unity手动调用物理引擎Update
查看>>
linux 命令
查看>>
JAVA8新特性之:Stream 详解
查看>>
RHEL vsftpd多个虚拟用户访问不同目录问题
查看>>
CENTOS7 Python3.7 为jupyter notebook 安装python2.7内核
查看>>
control userpasswords2实现xp的自动登陆
查看>>