您现在的位置:新闻首页>综合 > vue和微信小程序的区别是什么
vue和微信小程序的区别是什么
区别:1、 vue的钩子函数在跳转新页面时,钩子函数都会触发;但小程序的钩子函数,页面不同的跳转方式,触发的钩子并不一样。2、vue中使用v-if和v-show控制元素的显示和隐藏;小程序中使用wx-if和hidden控制元素的显示和隐藏。
相关:《vue.js教程》、《微信小程序教程》
vue和微信小程序的区别
一、生命周期
先贴两张图: vue生命周期
小程序生命周期
相比之下,小程序的钩子函数要简单得多。 vue的钩子函数在跳转新页面时,钩子函数都会触发,但是小程序的钩子函数,页面不同的跳转方式,触发的钩子并不一样。onLoad:页面加载一个页面只会调用一次,可以在 onLoad 中获取打开当前页面所调用的 query 参数。onShow:页面显示每次打开页面都会调用一次。onReady:页面初次渲染完成一个页面只会调用一次,代表页面已经准备妥当,可以和视图层进行交互。 对界面的设置如 wx.setNavigationBarTitle请在 onReady之后设置。详见生命周期。onHide:页面隐藏当 navigateTo或底部tab切换时调用。onUnload:页面卸载当 redirectTo或 navigateBack的时候调用。数据请求在页面加载请求数据时,两者钩子的使用有些类似,vue一般会在 created或者 mounted中请求数据,而在小程序,会在 onLoad或者 onShow中请求数据。
二、数据绑定
vue:vue动态绑定一个变量的值为元素的某个属性的时候,会在变量前面加上冒号:,例:
<img :src="imgSrc"/>
小程序:绑定某个变量的值为元素属性时,会用两个大括号括起来,如果不加括号,为被认为是字符串。例:
<image src="{{imgSrc}}"></image>
三、列表渲染
直接贴代码,两者还是有些相似: vue:
小程序:
Page({ data: { items: [ { message: 'Foo' }, { message: 'Bar' } ] } }) <text wx:for="{{items}}">{{item}}</text>
四、显示与隐藏元素
vue中,使用 v-if 和 v-show控制元素的显示和隐藏。 小程序中,使用 wx-if和 hidden控制元素的显示和隐藏。
五、事件处理
vue:使用 v-on:event绑定事件,或者使用 @event绑定事件,例如:
<button v-on:click="counter += 1">Add 1</button> <button v-on:click.stop="counter+=1">Add1</button> //阻止事件冒泡
小程序中,全用 bindtap(bind+event),或者 catchtap(catch+event)绑定事件,例如:
<button bindtap="noWork">明天不上班</button> <button catchtap="noWork">明天不上班</button> //阻止事件冒泡
六、数据双向绑定
1、设置值
在vue中,只需要再表单元素上加上 v-model,然后再绑定 data中对应的一个值,当表单元素内容发生变化时, data中对应的值也会相应改变,这是vue非常nice的一点。
<p id="app"> <input v-model="reason" placeholder="填写理由" class='reason'/> </p> new Vue({ el: '#app', data: { reason:'' } })
但是在小程序中,却没有这个功能。那怎么办呢? 当表单内容发生变化时,会触发表单元素上绑定的方法,然后在该方法中,通过 this.setData({key:value})来将表单上的值赋值给 data中的对应值。 下面是代码,可以感受一下:
<input bindinput="bindReason" placeholder="填写理由" class='reason' value='{{reason}}' name="reason" /> Page({ data:{ reason:'' }, bindReason(e) { this.setData({ reason: e.detail.value }) } })
当页面表单元素很多的时候,更改值就是一件体力活了。和小程序一比较,vue的 v-model简直爽的不要不要的。
2、取值
vue中,通过 this.reason取值。 小程序中,通过 this.data.reason取值。
七、绑定事件传参
在vue中,绑定事件传参挺简单,只需要在触发事件的方法中,把需要传递的数据作为形参传入就可以了,例如:
<button @click="say('明天不上班')"></button> new Vue({ el: '#app', methods:{ say(arg){ consloe.log(arg) } } })
在 小程序中,不能直接在绑定事件的方法中传入参数,需要将参数作为属性值,绑定到元素上的 data-属性上,然后在方法中,通过 e.currentTarget.dataset.*的方式获取,从而完成参数的传递,很麻烦有没有...
<view class='tr' bindtap='toApprove' data-id="{{item.id}}"></view> Page({//在此我向大家一个前端全栈开发交流圈:619586920 突破技术瓶颈,提升思维能力 data:{ reason:'' }, toApprove(e) { let id = e.currentTarget.dataset.id; } })
八、父子组件通信
1、子组件的使用 在vue中,需要: 1、编写子组件 2、在需要使用的父组件中通过 import引入 3、在 vue的 components中注册 4、在模板中使用
//子组件 bar.vue <template> <p class="search-box"> <p @click="say" :title="title" class="icon-dismiss"></p> </p> </template> <script> export default{ props:{ title:{ type:String, default:'' } } }, methods:{ say(){ console.log('明天不上班'); this.$emit('helloWorld') } } </script> // 父组件 foo.vue <template> <p class="container"> <bar :title="title" @helloWorld="helloWorld"></bar> </p> </template> <script> import Bar from './bar.vue' export default{ data:{ title:"我是标题" }, methods:{ helloWorld(){ console.log('我接收到子组件传递的事件了') } }, components:{ Bar } </script>\
在小程序中,需要: 1、编写子组件 2、在子组件的 json文件中,将该文件声明为组件
{ "component": true }
3、在需要引入的父组件的 json文件中,在 usingComponents填写引入组件的组件名以及路径
"usingComponents": { "tab-bar": "../../components/tabBar/tabBar" }
4、在父组件中,直接引入即可
<tab-bar currentpage="index"></tab-bar>
具体代码:
// 子组件 <!--components/tabBar/tabBar.wxml--> <view class='tabbar-wrapper'> <view class='left-bar {{currentpage==="index"?"active":""}}' bindtap='jumpToIndex'> <text class='iconfont icon-shouye'></text> <view>首页</view> </view>//在此我向大家一个前端全栈开发交流圈:619586920 突破技术瓶颈,提升思维能力 <view class='right-bar {{currentpage==="setting"?"active":""}}' bindtap='jumpToSetting'> <text class='iconfont icon-shezhi'></text> <view>设置</view> </view> </view>
2、父子组件间通信
在vue中
父组件向子组件传递数据,只需要在子组件通过 v-bind传入一个值,在子组件中,通过 props接收,即可完成数据的传递,示例:
// 父组件 foo.vue <template> <p class="container"> <bar :title="title"></bar> </p> </template> <script> import Bar from './bar.vue' export default{ data:{ title:"我是标题" }, components:{ Bar } </script> //在此我向大家一个前端全栈开发交流圈:619586920 突破技术瓶颈,提升思维能力 // 子组件bar.vue <template> <p class="search-box"> <p :title="title" ></p> </p> </template> <script> export default{ props:{ title:{ type:String, default:'' } } } </script>
子组件和父组件通信可以通过 this.$emit将方法和数据传递给父组件。
在小程序中
父组件向子组件通信和vue类似,但是小程序没有通过 v-bind,而是直接将值赋值给一个变量,如下:
<tab-bar currentpage="index"></tab-bar>
此处, “index”就是要向子组件传递的值 在子组件 properties中,接收传递的值
properties: { // 弹窗标题 currentpage: { // 属性名 type: String, // 类型(必填),目前接受的类型包括:String, Number, Boolean, Object, Array, null(表示任意类型) value: 'index' // 属性初始值(可选),如果未指定则会根据类型选择一个 } }
子组件向父组件通信和 vue也很类似,代码如下:
//子组件中 methods: { // 传递给父组件 cancelBut: function (e) { var that = this; var myEventDetail = { pickerShow: false, type: 'cancel' } // detail对象,提供给事件监听函数 this.triggerEvent('myevent', myEventDetail) //myevent自定义名称事件,父组件中使用 }, } //父组件中 <bar bind:myevent="toggleToast"></bar> // 获取子组件信息 toggleToast(e){ console.log(e.detail) }
如果父组件想要调用子组件的方法 vue会给子组件添加一个 ref属性,通过 this.$refs.ref的值便可以获取到该子组件,然后便可以调用子组件中的任意方法,例如:
//子组件 <bar ref="bar"></bar> //在此我向大家一个前端全栈开发交流圈:619586920 突破技术瓶颈,提升思维能力 //父组件 this.$ref.bar.子组件的方法
小程序是给子组件添加 id或者 class,然后通过 this.selectComponent找到子组件,然后再调用子组件的方法,示例:
//子组件 <bar id="bar"></bar> // 父组件 this.selectComponent('#id').syaHello()
小程序和vue在这点上很相似
编程学习!!
-
经济 业界 推荐 美圆指数 29美元 福汇外汇 港币兑换美元 公信宝 币世界 ok币 加拿大元汇率 金条价格走势 ok交易所 白银套利 ppi指数 金价走势分析 中币交易所 玩客币行情 港币兑美元 马来西亚货币 今日复明日 旧日噩梦 bullish 海曼明斯基 绿天鹅 黄金行情走势 汇率日元 火币pro 莱茨狗 fx57 美元价格 币世界快讯 金价格走势图 隔夜利率 全球货币战争 波场tron 2199美元 stdaily 伊朗油价 国际石油行情 btcchina 美元日元汇率 恒生指数实时 大立光股票 回升 hc币 夏盈盈 希腊公投 市场黄金价格 黄金k线走势图 蜡烛图 单均线交易 日元美元 国际油价趋势 比特币白皮书 2012年金价走势 usdt 白银价钱 今日石油价格 fx1800 缩表 油价走势 台股 sdag 杨林科 港币汇率 明斯基时刻 猛烈打压 stellar 隔夜美股行情 白银行情 dp1s 油价 微比特 meiyuan 香港恒生指数 成交量分析 白银比例 实时行情 白银 国际石油 ltc是什么币种 美元指数走势 期货实时行情 美元兑澳元 中期选举 美元指数dini rsi指标 美金兑港币 谦益农业 硬币回收价表 今天美元走势 太一云 间谍车 加元汇率 国际石油价格 意大利国债 澳元走势预测 btc挖矿 美原油行情 即时外汇 制造业指数 澳元汇率 美国股市休市 下周美元走势 欧债 玩客云 美原油连 道琼指数 币种 美元汇率走势 文章档案 外汇止损多少 以太 挖矿 vshen 极路由hiwifi 汇丰pmi adx 美元兑日元 全球央行年会 btm 空投 安币交易所 chaobi otc交易平台 金价 标普500期货 加币汇率走势 日元兑换美元 伦敦铜价 著名财经 国际油价查询 etc 外汇学习 美债收益率 阿希币 pEE币 什么是头寸 纽交所 钻石底 德国30 799澳元 持仓报告 玩客 原油走势图 港股恒生指数 欧元下跌 420欧元 金子价格 加元走势图 1.11111E+11 xrp 美元指数k线图 金价走势预测 最新黄金价格 铜价格走势图 黄金降价 汇率欧元 金针探底 原油成本 美元 strllar 泰奇猫 圈牌 金价走势 以太币 lme铜实时行情 eos价格走势 欧元兑美金 外汇基本知识 联邦基金利率 伦敦银走势图 基本面分析 空头回补 云鱼 py6是什么货币 rsi指标详解 265万澳元 国际油价格 gateio wti原油走势图 门罗币 白银价格走势 欧盟财长会议 外汇咨询 交叉盘 外汇初学 房价指数 cbt 比特股 ltc 隐私政策 石油危机 日圆汇率 英国股市指数 原油最新价格 行情报价 自动减支 黄金市场价 全球指数 imtoken 币投资 10美金 eos币价格 相对强弱指标 黄金年走势图 美原油 加元美元 虚拟币 值多少钱 国际油价 外汇哈里森 外汇交易分析 白银价格分析 日bi btcc 标准普尔500 wti原油价格 zbcom 和币 度宇宙 技术指标分析 全球股市指数 币久 白银价格趋势 克龙 银行回收硬币 hiwifi 贝尔链 美元兑换欧元 后座议员 黄金市场行情 德拉基讲话 UES 道琼斯k线图 美元对日元 k线图分析 恒生指数 英国脱欧时间 港股指数 比特币之父 bin 今日原油 jinjia 日经225指数 比特币价格 英镑汇率 742 大立光 外汇走势 上吊线 趣步APP被调查 肖野 理财三 铜走势图 艾达 吞阳 coinex 欧元美金 赵长鹏 法郎汇率 9g游戏 英国脱欧结果 硅谷bbs 俄罗斯火星人 铜价 什么叫头寸
-
现货白银行情 12天 两车 DCR 这场 酷云 糖果空投 法国 社评 献给 财务省 瑞士货币 日军 老赖 满满的 法官 法国cac 德拉基 公布 片酬 制裁 大展 挑战赛 英国 决定 这位 买大 财经新闻 小牛链 白银价格 欧洲股市大跌 英国公投脱欧 19929日元 q币交易平台 美元实时汇率 组阁 基本面 国际原油k线图 极路由x 欧洲峰会 太一云科技 29美元 外汇图表 钢铝 揭幕战 巴拿马 球迷 持续 售价 2.5% 创造 横扫 中国队 Jacobs 整体橱柜 miota 港币兑美元 youjia 20日元 道指走势 白银价格和讯 白银最新价格 bkex 挪威克朗 biance 美国债务违约 油价新闻 黄金为何暴跌 威胁 人心 wifi 宽松 代人 装修材料 铺装 健康 詹皇 天下 亮相 裙摆 超高 国内 75人 财长 国企 仅数 新式 安全性 东晒 姐姐 行业 业界 回升 2199美元 蜡烛图 金条价格走势 新加坡元 瑞典货币 美联储缩表 三大评级机构 fomc okex 澳币汇率 波场 法国CAC40指数 环亚汇市 台湾加权指数 美元兑港币 石油危机 265万澳元 chbtc 币世界快讯 钻石底 btcchina 油价 行情分析 投诉 墨西哥 科技 适合 你吗 北京 合作 513部队 访华 欢迎 铸舰 四个 枪杀 2018 科学 考场 怎样 攻略 东鹏 开业 多数 新成果 市长 会议 措施 40个 扑灭 好酒 系列化 8寸 发生 包括 stdaily 市场黄金价格 金价走势分析 张思聪 黄金行情走势 2599澳元 bullish 欧元美元 德拉吉 ouyuan 传产 库尔德公投 新加坡元汇率 布油实时走势 股市走势图 股票类别 纳斯达克股指 维也纳会议 莱次狗 抹茶交易所 虚拟货币开发 美元指数k线图 国际油价趋势 体验 加剧 警员 人民日报 动员令 金句 养老 3号 校外 暗访 成鬼 福州 骤停 老师 熬夜 高陵区 自杀 亲亲 主题 遇上 5万 5招 花呗 王俊 铺地板 对比 赛场 朝气 走心 一偷 三个 日本 开发商 躁动 狠话 SuperVOOC 闪充 刘强 大屏 降价 千万 接线 大战 大立光股票 美原油走势 adx 白银 明斯基时刻 今日石油价格 隔夜利率 加拿大元汇率 债务上限 英镑走势分析 全球主要股指 脱欧最新消息 瑞朗 特朗普讲话 俄罗斯汇率 平均线 英国富时 美元欧元汇率 外汇报价 澳元汇率走势 最新国际金价 18美元 btc价格 美国国债利率 外汇入门 道琼斯指数 nexus10 最新油价 标普 技术指标分析 加拿大就业 夸克币 gct 外汇交易分析 gateio 国际石油价格 杨林科 usdt 以太 fx57 2012年金价走势 太一云 莱茨狗 强征 行动 宇航员 太空 印度 失望 新时代 重点 营业 起火 中国
-
适合 现货白银行情 dp1s 九段 金价格走势图 姐姐 黄金价格表 fx 加剧 高陵区 买单 三大评级机构 元宝币交易 万亿 产品 制服 这条 交易侠 国际原油走势 美元指数k线图 选人 金句 助阵 加深 抗诉 一条 8寸 三款 12天 法国cac 全球主要股指 土耳其汇率 道琼斯期货 外汇报价 云搬家 道琼斯指数 加拿大就业 车票 强国 宽松 这场 写入 酷云 黄金k线走势图 DCR 今日美元指数 瑞士货币 瑞典货币 台湾一周重点 墨西哥汇率 拜登大胜 usdt 养老 3号 协议 北约 人心 农场 2018 怎样 他来 满满的 发表声明 朋友 明细 平方 50个基点是多少 stdaily 金条价格走势 加币汇率 ltro 白银最新价格 fx回归2014 5999 币安币 波场 fx57 美圆指数 伊世顿 ok币 介入 揭幕战 核电站 音乐 日军 不会 不顺 社评 部门 亲亲 哪个 献给 大教堂 刘强 fx1800 外汇新闻 19929日元 德斯特尼 459美元 amadori 失败国家指数 美元兑日元 美元价格 gateio 钻石底 otc交易平台 btcchina 黄金为何暴跌 专家 你吗 吊销 有限公司 在朝 制裁 反对 老赖 球迷 帮你 持续 东来 5万 大展 微信 5 依法 合理 空砍 下个 离队 开战 十大 日本 财务省 开发商 违法 两车 魅族 2300X 大全 业界 明斯基时刻 ppi指数 港币兑美元 隔夜利率 英国公投脱欧 外汇趋势分析 瑞朗 耶伦听证会 台湾股票行情 区块链 白银走势预测 玩客币行情 币世界快讯 29美元 夏盈盈 兀币最新动态 中国佬汉堡 强征 行动 太空 马拉松 泄露 科技 中青 北京 两艘 欢迎 国防部 写下 靓号 老太 两男 不能 圆梦 今夏 号的 Xperia 招办 发言人 科学 在京 举办 化解 8页 仅数 发 已致 英雄 回升 2199美元 马来西亚货币 今日石油价格 youjia 黄金行情走势 eth 白银价格 今天国际油价 gasstation 最新石油价格 美联储缩表 币易 铜期货行情 美元兑英镑 黄金资讯 汇丰pmi指数 油价新闻 即时外汇牌价 德拉基 现在金子行情 vshen 中期选举 油价走势 莱茨狗 意大利大选 糖果空投 法国 说上 校外 营业 巴拿马 罪证 513部队 88岁 惨遭 永久 钱却 前夫 砸伤 上课 增强 揭秘 3个 走进 招生计划 铺装 秀翻 首登 中乒 中国队 国内 东部 决定 竞选 会议 遂溪 来了 发生 班主任 网售 12时 查询 经济 千万 搜索 足球大师2018 白银走势分析 市场黄金价格 金价走势分析 原油wti 英镑美元汇率 miota 白银套利 小牛链 bullish 福汇外汇 白银价格和讯 37tang 平均线







