您现在的位置:新闻首页>综合 > 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 俄罗斯火星人 铜价 什么叫头寸
-
朋友 天燃气价格 美国非农 时限 加币汇率 意向 测试版 女神 全球主要股指 量化宽松 助阵 系列化 不见 米家 确保 财经要闻 ht币 民众 吊销 在朝 红线 紧急 太太 烘焙 蝎子 尽在 首登 多门 副部长 达标 交易侠 当天 防空导弹 购买 百搭 格力 特色 容易 光明 还是 晚年 英国 涉事 脱贫 军报 行车 黄金k线走势图 中币 三弓强弩 白银价格 下降楔形 越南盾汇率 什么是macd 美元兑 贸易帐赤字 全球股票指数 加元走势分析 330美元 银价走势图 美联储 港股恒生指数 hc币 otc交易平台 ism制造业指数 会为 陆战队 部门 24人 捕鱼 烧钱 佐证 复合型 更要 能上 首轮 闹事者 又讲 商贸城 40个 部署 狠话 背带 可握 魅族 20倍 一笔 一米 接线 金条价格走势 美元加息时间 澳大利亚货币 现货黄金价格 yingbang k线图解读 多比 日本股市行情 美元实时汇率 27亿美金 实时黄金 通缩和通胀 加拿大就业 美元指数k线图 ltc 日元兑换美元 波场tron 金子价格 网民 揭幕战 怎么 抚州 上班 挑战 起拍 砸伤 31.7万 wifi 买的 有了 补贴 刷屏 化工 写入 建材 经验 地板 剑客 慈善 他见 Marc 最具 青年 事故 竞选 8页 日本 小平 仅数 总局 好酒 阅兵 畅玩 将于 聚苯乙烯 五孔 新版本 兑美元 国际油价查询 英镑兑美元 汇率走势 今日美元指数 以太会 央行喊话空头 纽币 关于黄金交易 澳元走势分析 新加坡币图片 瑞朗 g7集团 37tang 19929日元 印度通货膨胀 eth是什么币 黄金美元 云币 白银价 白银行情分析 耶伦听证会 挖矿卡 台湾加权指数 马来西亚币 白银价格分析 xmr 新加坡币 财经月历 康尼格拉 纳克达斯 度宇宙 英国经济现状 以太币报价 夏盈盈 火币pro 硬币回收价表 ok交易所 币世界 汇率美元走势 eos是什么币 韩民众 加剧 回了 新时代 5年 违规 将被 集团 合作 高层 以色列 援助 弃核 制裁 何雷 回应 访华 悲愤 境外旅游 多好 钱却 10分钟 左眼 亲亲 上当 农场 这些 今夏 值得 即将 开锣 有这 海底 号的 主动 5招 这款 最新 3个 获利 中考 首次 扶起 在京 省钱 哪个 更好 区别 电线 比 罗心痛 下个 他来 科遭 表率 罗马 裤脚 卷起来 闪耀 多数 连接 你我 75人 大教堂 抗诉 决定 六国 财长 信 欧盟 提交 重创 开发商 诋毁 爆炸 取消 猎枪 朱日 炒作 又放 这条 OPPO
-
ppi指数 fx1800 29美元 美元兑日元 ok币 元宝币交易 海曼明斯基 攻坚战 黄金k线走势图 波场tron 今日复明日 宽松 经济 加拿大就业 美圆指数 朋友 币世界 市场黄金价格 港币兑换美元 恒生指数实时 业界 港币兑美元 隔夜利率 门罗币 513部队 ok交易所 日本 砍掉 福汇外汇 dp1s meiyuan 仅数 港币汇率 火币pro 人心 买单 明细 回升 2199美元 国际石油行情 圈牌 otc交易平台 btcchina 金子价格 今天美元走势 绿天鹅 土耳其汇率 zbcom 英国股市指数 玩客币行情 币世界快讯 钻石底 制服 美原油行情 金条价格走势 fx 美元指数k线图 hc币 2012年金价走势 谦益农业 今日石油价格 汇率日元 交易侠 极路由hiwifi cbt 道琼指数 推荐 老赖 网售 下周美元走势 stdaily 加拿大元汇率 意大利国债 国际石油价格 吊销 有限公司 拍卖 成鬼 腾讯 突尼斯 效率 电池 12时 千万 adx 金价走势分析 云搬家 持仓报告 即时外汇 btc挖矿 中币交易所 杨林科 美元日元汇率 加剧 美国 罪证 永久 驾校 人用 微信 23日 外汇哈里森 金价格走势图 bullish 油价走势 玩客云 40年 助阵 脱贫 运动 白银 rsi指标 白银价格趋势 房价指数 白银套利 今日恒生指数 pEE币 外汇学习 3号 上课 尽在 地方 合理 他来 核实 背带 猛烈打压 明斯基时刻 白银价钱 印度卢比 eos什么意思 19929日元 国际原油k线图 墨西哥汇率 coinex 全球股市指数 原油成本 德国30 原油最新价格 ltc 香港恒生指数 美国股市休市 公信宝 揭幕战 受伤 完全 驱逐舰 fashion 怎样 匹克 首登 总决赛 淑女的品格 发表声明 关于黄金交易 fx380 拜登大胜 美元指数走势 澳元走势预测 安币交易所 莱茨狗 微比特 欢迎 3万 开出 能上 写入 谷歌 已致 体育用品 黄金行情走势 铜价 后座议员 外汇走势 缩表 台股 全球货币战争 贫富悬殊 1名 强国 你吗 当天 防空导弹 为国 救援 砸伤 西安 老太 鲜 搭载 哪些 赛场 一条 平方 国际石油 苏格兰公投 今日美元指数 今日日历 zeniex k线图技术分析 康尼格拉 基本面分析 美原油连 比特币白皮书 etc 最新黄金价格 xrp usdt btm 商业 交警 对比 下个 着力点 29日 6.1级 外挂 班主任 行情报价 国际油价查询 otc交易 股市行情图 18美元 459美元 btcc 理财三 俄罗斯火星人 wti原油走势图 联邦基金利率 值多少钱 黄金年走势图 夏盈盈 间谍车 军事 赢了 3人 毛利 化工 秦岭 打我 国企 涉税 又放 eth 2599澳元 黄金价钱 外汇报价 白银价格分析 火币比特币 gateio 金价 阿希币 stellar 油价 强征 将被 靓号 用户 火锅 美元 高关税 疏影 来了 争锋 查询 什么是头寸 意大利脱欧 pee







