vue和微信小程序的区别
1.生命周期 小程序的生命周期要简单得多,vue的钩子函数在跳转新页面时,钩子函数都会触发,但是小程序的钩子函数,页面不同的跳转方式,触发的钩子并不一样:
onLoad: 页面加载 一个页面只会调用一次,可以在 onLoad 中获取打开当前页面所调用的 query 参数。
onShow: 页面显示 每次打开页面都会调用一次。
onReady: 页面初次渲染完成 一个页面只会调用一次,代表页面已经准备妥当,可以和视图层进行交互。 对界面的设置如wx.setNavigationBarTitle请在onReady之后设置。详见生命周期
onHide: 页面隐藏 当navigateTo或底部tab切换时调用。
onUnload: 页面卸载 当redirectTo或navigateBack的时候调用。
2.数据绑定 vue动态绑定一个变量的值为元素的某个属性的时候,会在变量前面加上冒号:<img :src="imgSrc"/> 小程序:绑定某个变量的值为元素属性时,会用两个大括号括起来,如果不加括号,为被认为是字符串:
3.列表渲染 小程序:<text wx:for="{{items}}">{{item}} vue: <li v-for="item in items">
4.显示与隐藏元素 vue中,使用v-if 和v-show控制元素的显示和隐藏 小程序中,使用wx-if和hidden控制元素的显示和隐藏
5.事件处理 vue:使用v-on:event绑定事件,或者使用@event绑定事件 小程序中,全用bindtap(bind+event),或者catchtap(catch+event)绑定事件
6.数据双向绑定 在vue中,只需要再表单元素上加上v-model,然后再绑定data中对应的一个值,当表单元素内容发生变化时,data中对应的值也会相应改变,这是vue非常nice的一点。 小程序没有这个功能,当表单内容发生变化时,会触发表单元素上绑定的方法,然后在该方法中,通过this.setData({key:value})来将表单上的值赋值给data中的对应值。
7.绑定事件传参 在vue中,只需要在触发事件的方法中,把需要传递的数据作为形参传入就可以了 在小程序中,不能直接在绑定事件的方法中传入参数,需要将参数作为属性值,绑定到元素上的data-属性上,然后在方法中,通过e.currentTarget.dataset.*的方式获取,从而完成参数的传递
8.父子组件通信 vue - 编写子组件 - 在需要使用的父组件中通过import引入 - 在vue的components中注册 - 在模板中使用