ionic基础一

1. 创建ionic项目

https://ionicframework.com/getting-started

1)进入一个文件夹下,执行ionic start myApp tabs生成带table标签的项目架构


2)生成的项目下没有该文件夹,需要执行npm install生成项目必须文件


3)新建页面:ionic g page NewPage  新建了一个NewPage名称的文件夹。还需要在app.module.ts中引入相关ts文件

4rootpage最好设置为登录页面,在通过登录页面的登录方法进入其他页面。

   如果把菜单页面或首页设置为app.Html是读取不到用户相关信息的,即app.html只能在项目启动时进入一次如果这个页面中有什么需要登录用户信息后才可以显示的数据则不能回显出来(不知道是不是这样,但是遇见过这种问题)

5<ion-item>

<ion-label class="color-css">提供人员</ion-label>

<div item-content class="width-div">{{clueObj.provider}}</div>

</ion-item>

Ionic手机上的一行使用ion-item标签。Ion-label代表行的开头

ts中定义clueObj这个对象。页面通过双{}显示出来

6<ion-item [ngStyle]="{'display': status == '0' ? 'block':'none' }">

<button ion-button item-start (click)="clueEdit()" style="width:100%">编辑</button>

<button ion-button item-start (click)="close()" style="width:100%">关闭</button>

<button ion-button item-start (click)="toChance()" style="width:100%">转为机会</button>

</ion-item>

在后台定义一个status==0’,block是显示,none是不显示。相等执行?前面的。不相等执行?后面的。前面的display是固定的属性名称

 

click=””代表点击函数

 

7constructor(public navCtrl: NavController, public navParams: NavParams,

public comUtil: CommonUtilProvider,public userProvider: UserInfoProvider) {

this.clueObj = navParams.get('clue');

constructor代表构造函数。

NavController用来跳转页面,前面的page代表ts的类名。后面括号里的代表传递的参数

this.navCtrl.push(ClueEditPage, { 'clue': this.clueObj, 'flag': '1' });

NavParams用来获取上下文的数据,即跳转页面时传递的参数通过这个方法获取

this.clueObj = navParams.get('clue');

 

 

8

<form [formGroup]="clueForm" (submit)="saveForm($event)">

<ion-item>

<ion-label>线索名称</ion-label>

<ion-input formControlName="clueName" type="text" clearInput></ion-input>

</ion-item>

<ion-item>

<ion-label>线索描述</ion-label>

<ion-textarea formControlName="clueDesc" type="text" rows="5" cols="25"></ion-textarea>

</ion-item>

<button ion-button full type="submit" style="width: 90%;font-size: 22px;margin: 0 5%;">提交</button>

</form>

 

页面的form表单通过formGroup来对应。formControlName代表标签id

Ts中引入该表单

public clueForm: FormGroup;

构造函数中初始化表单

public formBuilder: FormBuilder,

 

this.clueForm = this.formBuilder.group({

clueName: ['', Validators.required],

clueCompany: ['', Validators.required],

provider: [this.user.returnuserName(), Validators.required],

clueDesc: ['', Validators.required],

clueChannel: ['', Validators.required],

assigns: ['', Validators.required],

});

 

 

9JSON.stringify(list)

转换成json格式的

console.log('线索查询指派人名称:' + JSON.stringify(this.assignorArray));

 

10this.clueForm.value.id 

获取表单里的id字段的值

 

11<ion-item>

<ion-label>线索公司</ion-label>

<ion-select formControlName="clueCompany" okText="确定" cancelText="取消">

<ion-option [value]="item.clueCompany" *ngFor="let item of clueConmpany">{{item.clueCompany}}</ion-option>

</ion-select>

</ion-item>

下拉菜单:ion-select  formControlName代表的是下面的value

*ngFor="let item of clueConmpany"

循环遍历

 

12<div>

<ion-searchbar [(ngModel)]="searchQuery" (input)="saveForm($event)"></ion-searchbar>

</div>

搜索框标签:ion-searchbar  input)代表搜索改变后调用的函数方法

 

saveForm(ev: any) {

event.preventDefault();

let serviceName = '/clue/listSearch';

this.cluesArray2 = [];

for (let i = 0; i <this.cluesArray.length; i++) {

if(this.cluesArray[i].clueName.indexOf(ev.target.value)!=-1){

 

ev.target.value

代表搜索框中输入的值

 

13(ngModelChange)="switchProvince($event)

js方法中的onchange类似,当该标签的值改变时调用函数

<ion-select formControlName="decChainStaff" okText="确定" ng-model="dec" cancelText="取消" (ngModelChange)="switchProvince($event)">

<ion-option *ngFor="let item of descionArray" [value]="item.decChainStaff">

{{item.decChainStaff}}

</ion-option>

</ion-select>

 

14)轮播图:

<!-- start 轮播图 -->

<!-- <ion-slide-box></ion-slide-box> -->

<ion-slides pager class="sliderBanner" (ionSlideDidChange)="slideChanged()">

<ion-slide>

<img src="assets/imgs/banner.png" />

</ion-slide>

<ion-slide>

<img src="assets/imgs/banner.png" />

</ion-slide>

<ion-slide>

<img src="assets/imgs/banner.png" />

</ion-slide>

</ion-slides> 

<!-- end 轮播图 -->

相关ts方法:

   //轮播

@ViewChild(Slides) slides: Slides;

slideChanged() {

//每一张图片可以添加事件

}

ngAfterViewInit() {

// this.slides.freeMode = true;

this.slides.loop = true;//循环

this.slides.autoplay = '10000';//2秒自动播放

this.slides.speed = '500';//一张动画时间500毫秒

this.slides.autoplayDisableOnInteraction = false;//注意此参数,默认为true--自动轮播时手动滑动不再轮播

}

 

 

 

15)Ionic省市县三级联动选择

  地址:https://www.cnblogs.com/metaphors/p/7900483.html

16)ionic 连接打电话拨号功能:

  <ion-item class="clue-list">

<span class="clue-titleColor">小贷公司A</span> 

<hr align=center width=100% color=#987cb9 SIZE=1>

<div class="clue-fontColor">

<div class="row">

<div class="col col-20">联系人<br>联系电话</div>

<div class="col col-20">张三<br>010-8888888</div>

<!-- <div class="col col-20 col-offset-40 col-center"><span>></span></div> -->

<a class="clue-right" ion-button clear item-right href="tel:10086"><span>></span></a>

</div>

</div>

</ion-item>

超链接属性hreftel+号码

<a class="clue-right" ion-button clear item-right href="tel:10086"><span>></span></a>

 

config.xml 添加权限语句

<access launch-external="yes" origin="tel:*" />

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 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 内设
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。
### 回答1: 众所周知,京东是中国最大的在线购物平台之一,其拥有强大的技术支持和市场份额。为满足使用Ionic技术的开发人员对于京东移动应用的需求,出现了一些类似于京东的Ionic 5源码。 这些源码不仅提供了用户界面设计和体验方面的灵感,同时也提供了常规电子商务应用程序所需的功能。 来自世界各地的ionic开发人员已经使用这些源码来创建自己的移动应用程序。这些源码包含功能齐全的模块,如商品列表,商品详情,购物车等,并提供了可扩展性,以满足个性化需求。 如果你正在寻找一个功能强大,易于定制的Ionic 5应用程序,你可以尝试使用这些资源来加速你的开发过程。但是,请记住,这些源码仅供研究和学习使用,而不应该用于商业用途。 总而言之,Ionic 5仿京东源码是一个非常完整的电子商务移动应用程序,可以提供吸引人的用户界面设计和易用性,为开发人员提供了一个优秀的开发框架,实现电子商务应用的快速开发和部署。 ### 回答2: 近年来,跨平台开发框架Ionic在国内越来越受到开发者的关注。Ionic以HTML、CSS和JavaScript为基础,为开发人员提供了一种简单易用的方式来构建跨平台应用程序。目前,Ionic团队已经发布了5.0版本,其中集成了许多新功能和样式,使得开发者可以更加方便地创建高质量的应用程序。 近年来,随着移动互联网的不断发展,电商已经成为了人们生活中不可或缺的一部分。京东作为国内最大的电商之一,其APP用户量也是非常巨大的。因此,以仿京东源码为主题的Ionic 5开发也成为了很多开发者的关注点。 在Ionic 5应用中进行京东页面的仿制,我们需要考虑以下几个方面的问题: 首先,我们需要确保应用程序具有京东APP的所有主要功能,例如产品展示、购物车、订单管理等功能。 其次,我们需要美化应用程序的UI界面,使用户能够获得良好的用户体验。为此,我们可以使用不同的Ion components(例如:Ion Card、Ion List、Ion Button等等)来构建应用程序的不同界面。 另外,我们需要保证应用程序的性能和稳定性。为此,我们可能需要使用Ionic的一些性能工具例如Ionic capacitor工具来优化应用程序的性能,从而让应用程序能够在各种操作系统和不同尺寸的设备上都能够良好运行。 总的来说,Ionic 5仿京东源码的开发需要开发者兼顾功能、UI界面、性能和稳定性等各个方面,以便为用户带来最好的用户体验。通过不断打磨和优化,Ionic应用程序也可以成为京东之外的其他电商平台的优秀模板。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值