同是mvvm框架,他们之间是很相似的,如何你已经熟悉其中的一个,那么另一个也就基本上也就会的差不多了。

一、动态属性、值、事件绑定

vue中使用v-bind:或者之间分号:进行绑定

ng中左括号[]进行绑定

v-model –--->[(ngModel)]

@click ---->(click)

二、条件判断

v-if----->*ngIf

三、显示隐藏

v-show------> [hidden]

四、遍历一组数组进行渲染

v-for="item in items" -----> *ngFor="let item of items"
v-for="(item ,index)in items" -----> *ngFor="let item of dots; index as i"
。。。。

父子组件如何传值

1.父组件传值到子组件

<app-header [msg]="msg"></app-header>

2. 子组件接受父组件的值

子组件里面通过 @Input 接收父组件传过来的数(需要先引入input模块)--相当于vue的props

3.子组件主动发送数据给父组件

引入Output,EventEmitter

import {Output,EventEmitter} from "@angular/core";

@Output() private childOuter = new EventEmitter();// 子组件主动发送数据this.childOuter.emit("我是子组件的数据");

4.在父组件中接收数据

// childOuter即是子组件发送的outer(类似Android中的广播)

<app-index (childOuter)="getData($event)"></app-index> // ts文件中: getData(msg:string) { console.log(msg);// 接收到的数据 }

------相当于vue的子组件派发事件到父组件

5.父组件主动调用子组件

方法1

// 引用子组件 
<app-index #index></app-index> // 使用子组件中的方法
<button (click)="index.childRun()">调用index中的方法</button>

方法2

也可以在ts文件中调用:

// 引用子组件 html文件

<app-index #index></app-index> <button (click)="parentClick(index)">调用index中的方法</button>

// ts 文件

parentClick(obj) { obj.childRun(); }

方法3

ViewChild主动获取数据 相当于vue 父组件里面对子组件加ref引用找到子组件调用其方法

ViewChild 是属性装饰器,用来从模板视图中获取匹配的元素

页面上#xx ts中@ViewChild(xx)

获取匹配的组件也可以是元素,

组件直接导入 @ViewChild(组件名)

元素页面上加#xx @ViewChild(xx)

参考 http://oomusou.io/angular/viewchild/

子组件里面监听父组件传递过来值的变化

onChanges钩子使用 相当于vue里面的watch

……

ionic/ng常用代码片段

[src]="base64Image"

//是否存在

[hidden]="lastImage === null"

//是否禁用

[disabled]="lastImage === null"

//文案显示互斥

{{isFavourite ? '取消关注' : '关注'}}

//元素显示互斥

*ngIf="!isSelf" 渲染与否,切换的时候回重新渲染

如何已经有了class再追加class 而不是替换class

<span class="dot" [ngClass]="{active: currentPageIndex === i }" *ngFor="let item of dots; index as i"></span>

替换class

<span class="dot" [class]="{active: currentPageIndex === i }

或者 [hidden]=”!isSelf” 不重新渲染只显示隐藏 注意与v-show相反等同于

v-show=’isSelf’

Class显示互斥

<span [ngClass]="{'active':sex===1}" (click)="switchSex(1)"></span><b (click)="switchSex(1)">男</b>

<span [ngClass]="{'active':sex===0}" (click)="switchSex(0)"></span><b (click)="switchSex(0)">女</b>

根据布尔值绑定某一属性

[color]="btnDisable===true?'light':''"

注意不能带花括号

下面2种都是不对的

<button ion-button block [color]="{btnDisable===true?'light':''}">下一步</button>

<button ion-button block [color]="{'light':btnDisable===true}">下一步</button>

如何把一个vue组件改为ionic/angular组件的更多相关文章

  1. 做了一个vue的同步tree 的npm组件包

    前言:因为现成的tree组件没有找到.亦或是其依赖的其他东西太多,不太合适引入我们的项目,所以自己做了一个.大概样式: 在线例子: https://hamupp.github.io/t-vue-tre ...

  2. Laravel 项目中编写第一个 Vue 组件

    和 CSS 框架一样,Laravel 不强制你使用什么 JavaScript 客户端框架,但是开箱对 Vue.js 提供了良好的支持,如果你更熟悉 React 的话,也可以将默认的脚手架代码替换成 R ...

  3. 手把手教你实现一个 Vue 进度条组件!

    最近在个人的项目中,想对页面之间跳转的过程进行优化,想到了很多文档或 npm 等都用到的页面跳转进度条,于是便想自己去实现一个,特此记录. 来看下 npm 搜索组件时候的效果: so 下面咱们一起动手 ...

  4. 从零开始开发一个vue组件打包并发布到npm (把vue组件打包成一个可以直接引用的js文件)

    自己写的组件 有的也挺好的,为了方便以后用自己再用或者给别人用,把组件打包发布到npm是最好不过了,本次打包支持 支持正常的组件调用方式,也支持Vue.use, 也可以直接引用打包好的js文件, 配合 ...

  5. 如何写好一个vue组件,老夫的一年经验全在这了【转】 v-bind="$attrs" 和 v-on="$listeners"

    如何写好一个vue组件,老夫的一年经验全在这了 一个适用性良好的组件,一种是可配置项很多,另一种就是容易覆写,从而扩展功能 Vue 组件的 API 来自三部分——prop.事件和插槽: prop 允许 ...

  6. 从零开始徒手撸一个vue的toast弹窗组件

    相信普通的vue组件大家都会写,定义 -> 引入 -> 注册 -> 使用,行云流水,一气呵成,但是如果我们今天是要自定义一个弹窗组件呢? 首先,我们来分析一下弹窗组件的特性(需求): ...

  7. 【万字长文】从零配置一个vue组件库

    简介 本文会从零开始配置一个monorepo类型的组件库,包括规范化配置.打包配置.组件库文档配置及开发一些提升效率的脚本等,monorepo 不熟悉的话这里一句话介绍一下,就是在一个git仓库里包含 ...

  8. 如何抽象一个 Vue 公共组件

    之前一直想写一篇关于抽象 Vue 组件的随笔,无奈一直没想到好的例子.恰巧最近为公司项目做了一个数字键盘的组件,于是就以这个为例聊聊如何抽象 Vue 的组件. 先上 Demo 与 源码.(demo最好 ...

  9. 一个 Vue 的滑动按钮组件

    git 地址:https://github.com/SyMind/vue-sliding-button vue-better-slider 一个 Vue 的滑动按钮组件,有关滑动方面的处理借鉴 bet ...

随机推荐

  1. jsonp跨域ajax跨域get方法

    原理: 就是利用<script >标签没有跨域限制的,从而达到与第三方网站通讯的目的.当需要通讯时,本站脚本创建一个<script>标签,src地址指向第三方网站的的一个网址. ...

  2. oracle用命令创建表空间、用户,并为用户授权、收回权限。

    oracle中如何删除用户? Oracle中使用DROP USER来删除用户,如果使用DROP USER CASCADE那么用户的对象也同时被删除掉.为了达到删除用户的效果而又不影响对用户下的对象的使 ...

  3. alembic使用

    前言 alembic是SQLAlchemy作者编写的控制 model 版本的模块,配合SQLAlchemy使用更佳 正文 安装 pip install alembic alembic是可以在DOS中执 ...

  4. python计算文件的行数的方法

    1.简单方法把文件读入一个大的列表中,然后统计列表的长度.   count = len(open("文件名").readlines()) print count 2.读取文件某一行 ...

  5. Windows Internals 笔记——内核对象

    1.每个内核对象都只是一个内存块,它由操作系统内核分配,并只能由操作系统内核访问.这个内存块是一个数据结构,其成员维护着与对象相关的信息. 2.调用一个会创建内核对象的函数后,函数会返回一个句柄,它标 ...

  6. C/C++中const关键字的用法及其与宏常量的比较

    1.const关键字的性质 简单来说:const关键字修饰的变量具有常属性. 即它所修饰的变量不能被修改. 2.修饰局部变量 ; ; 这两种写法是等价的,都是表示变量的值不能被改变,需要注意的是,用c ...

  7. [转] 从零构建 vue2 + vue-router + vuex 开发环境到入门,实现基本的登录退出功能

    这是一个创建于 738 天前的主题,其中的信息可能已经有所发展或是发生改变. 前言 vue2 正式版已经发布将近一个月了, 国庆过后就用在了公司的两个正式项目上, 还有一个项目下个月也会采用 vue2 ...

  8. Swift 统计项目中所有按钮的点击次数

    class Swizzle: NSObject { override class func load() { UIButton.xxx_swizzleSendAction() } } extensio ...

  9. 面试题总结(PS:只是我遇到的那些面试题,并不是经典面试题)

    一.类和结构的区别,分别有什么应用.(参考:https://blog.csdn.net/yikeshu19900128/article/details/40400479) 1)类是引用类型,数据存放在 ...

  10. HDU.4903.The only survival(组合 计数)

    题目链接 惊了 \(Description\) 给定\(n,k,L\),表示,有一张\(n\)个点的无向完全图,每条边的边权在\([1,L]\)之间.求有多少张无向完全图满足,\(1\)到\(n\)的 ...