首页 > web前端 > Vue.js > 正文

vue.js与微信小程序区别是什么

coldplay.xixi
发布: 2020-11-10 15:12:47
原创
4876人浏览过
vue.js与微信小程序区别:1、vue实例化后,初始化data,通过【this.】能获取到data内的数据;2、小程序中,初始化页面数据之后,是通过【this.data】来获取页面的data来获取页面对象的。

vue.js与微信小程序区别是什么

【相关文章推荐:vue.js

vue.js微信小程序区别:

一、微信小程序有自己封装的一套组件视图容器,它把平时我们可能会用的一些页面视图效果都进行了分装;

eg:  swiper,scroll-view,表单组件

立即学习前端免费学习笔记(深入)”;

在Vue项目中,我们可能要通过引入第三方组件库swiper,表单组件更多的是结合element-ui或者ant-ui 或者 iview 来实现表单页面的实现。

二、条件渲染与列表渲染

在js中我们都知道,用于条件判断,用的最多的就是if(){}else{},而在vue和微信小程序框架中,它对该类方法进行了封装,通过指令调用方式来实现。

vue中:

v-if="Math.random() > 0.5"或者v-if=”true”  //当指令的表达式返回 truthy 值的时候内容会被渲染
登录后复制

习惯于vue框架的人,长时间没接触微信小程序的后果:

wx-if=”Math.random() > 0.5”   //报错倒是不会,但是并没有按条件执行
登录后复制

然后执行,完全没毛病是不是,可是数据就是出不来,我曾经反反复复检查了好几遍代码,自信绝对没问题,再去console后台数据,返现数据是可以console出来的,才惊觉可能是微信小程序的条件渲染不对,然后查看微信小程序文档才发现,在微信里面,都是通过

{{ }} 的语法把一个变量绑定到界面上的,正确操作

wx-if=” {{ Math.random() > 0.5 }}” 或者 wx-if=”{{true}}”
登录后复制

vue中列表渲染时,

<p v-for=”(index,item) in array” :key=”item.id”></p>;
登录后复制

微信小程序中,在组件上使用 wx:for 控制属性绑定一个数组,即可使用数组中各项的数据重复渲染该组件。

默认数组的当前项的下标变量名默认为 index,数组当前项的变量名默认为 item;

微信 WeLM
微信 WeLM

WeLM不是一个直接的对话机器人,而是一个补全用户输入信息的生成模型。

微信 WeLM 33
查看详情 微信 WeLM
<view wx:for="{{array}}">
  {{index}}: {{item.message}}
</view>
登录后复制

使用 wx:for-item 可以指定数组当前元素的变量名,

使用 wx:for-index 可以指定数组当前下标的变量名:

<view wx:for="{{array}}" wx:for-index="idx" wx:for-item="itemName">
  {{idx}}: {{itemName.message}}
</view>
登录后复制

三、数据获取

vue实例化后,初始化data,通过this.能获取到data内的数据,正常操作:

data(){
  return {
    message:””
  }
},
methods:{
  change:function(){
    this.message = “呵呵哒”
  }
}
登录后复制

小程序中,初始化页面数据之后,是通过this.data来获取页面的data来获取页面对象的,同样操作,

data:{
  message:”呵呵”
},
methods:{
  this.data.message = “呵呵哒”;   //视图界面上的值并没有发生改变
}
登录后复制

先不说一不小心this.message,后来幡然醒悟过来这是小程序,那么,问题又来了,视图界面上的值并没有发生变化。

再去查询文档(来自微信小程序官方文档说明):

1、直接修改 this.data 无效,无法改变页面的状态,还会造成数据不一致。

2、单次设置的数据不能超过1024kB,请尽量避免一次设置过多的数据。

3、this.data与this.setData的关系就是this.setData里面存储的是this.data的副本,而界面是从this.setData里面托管的this.data的副本取数据的。所以我们更改this.data并不会直接更新界面,因为这个时候的this.setData里面的副本还是没有更新前的。

简而言之,就是,setData 函数刷新数据并展示在页面上,this.data改变了数据,但是不会改变视图页面的内容。

所以,正确操作

methods:{
  this.data.message = “呵呵哒”;
  this.setDate({
     message:this.data.message
});
console.log(this.data.message)
}
登录后复制

相关免费学习推荐:JavaScript(视频)

以上就是vue.js微信小程序区别是什么的详细内容,更多请关注php中文网其它相关文章!

相关标签:
微信app下载
微信app下载

微信是一款手机通信软件,支持通过手机网络发送语音短信、视频、图片和文字。微信可以单聊及群聊,还能根据地理位置找到附近的人,带给大家全新的移动沟通体验,有需要的小伙伴快来保存下载体验吧!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
热门推荐
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号