只接受发布货源信息,不可发布违法信息,一旦发现永久封号,欢迎向我们举报!
1064879863
16货源网 > 餐饮行业新闻资讯 > 网站建设资讯大全 >  使用mpvue开发小程序教程(五)


使用mpvue开发小程序教程(五)

发布时间:2019-10-10 06:28:37  来源:网友自行发布(如侵权请联系本站立刻删除)  浏览:   【】【】【
点击上方蓝字 记得关注我们哦!在上一章节中,我们了解了组件的三个基本特性以及组件的基本使用方法。在实际的小程序开发中,我们应该以组件的思维去设计每个小程序的功能页面,对其进行合理的组件拆分,让每个部分
使用mpvue开发小程序教程(五)

点击上方蓝字 记得关注我们哦!

在上一章节中,我们了解了组件的三个基本特性以及组件的基本使用方法。在实际的小程序开发中,我们应该以组件的思维去设计每个小程序的功能页面,对其进行合理的组件拆分,让每个部分都保持功能简洁、条理清楚、各司其职,这样会让代码变得更易理解和维护,间接的也提升了代码的健壮性,降低出现Bug的几率,即使出现Bug,也会更容易进行定位和调试。


由于mpvue采用的是Vue框架的基础设施,所以大部分的功能都是和Vue一致的。但是,mpvue的代码毕竟最终还是要转译成小程序原生框架下的代码的,由于小程序框架本身存在的一些功能限制,导致有些功能不能被翻译过去,也就是说有些标准的Vue功能在mpvue下是不可以使用或有特殊限制的。


今天我们就来罗列一下,在使用mpvue的时候那些需要特别注意的点。


1、在模板中,动态插入HTML的v-html指令不可用


这条很好理解,小程序的界面并不是基于浏览器的BOM/DOM的,所以不能动态的在界面模板里直接插入HTML片段来显示。


题外话,如果有在小程序里插入html片段的需求怎么办?可以用组件或者wxParse(https://github.com/icindy/wxParse)来实现。


2、在模板中,用于数据绑定的双括号语法{{}}中的表达式功能存在诸多限制


在Vue本身的模板内双括号语法中,我们可以对绑定变量进行比较丰富的处理,比如:


  • 可以调用methods下的函数, 例如:




  • 如果变量是对象的话,也可以调用对象的成员方法




  • 可以使用过滤器来处理变量,最有用的场景算是格式化数据了




以上这些好用的功能,在mpvue中,记得都是通通不能用的哦!!!


我们只能在双括号中使用一些简单的运算符运算+ - * % ?: ! == === > < [] .)。


但是也得找些可用的替代方案呐,大伙先考虑使用计算属性(computed)来做吧。


3、在模板中,除事件监听外,其余地方都不能调用methods下的函数


在Vue中,模板里调用methods部分定义的函数是非常常见的,比如下面这段代码所示,在v-if指令中调用函数getErrorNum()


可是,在mpvue里就是不可以用!因为在小程序原生模板wxml里就不支持这种函数调用,导致mpvue没有很好的方式转译过去(虽然小程序有wxs,但是感觉翻译过去mpvue要做的工作会比较复杂)。

所以,可用的替代方案可能还是计算属性了。


4、在模板中,不支持直接绑定一个对象到styleclass属性上

在Vue中我们可以为HTML元素的classstyle绑定一个对象,并按照对象内的属性值来决定是否添加对应的属性名到HTML元素的样式名。示例如下:


上面这段代码的运行后生成的HTML将是:



但是在mpvue下面这个特性也不能用,按官方说法是由于涉及到一些性能相关的原因。那如果要动态改变组件的class该怎么写呢?官方给出的方式是这样的:


其实改动不大,稍微多打了一些字而已,相当于在模板的class里再定义一个对象罢了。但是据文档中说这样会提升性能。好吧,为了性能,这点麻烦还是能忍受的。但是它又说了:从性能考虑,建议不要过度依赖此......看来即使这样,也还是有性能问题。

看来最好一点的方案,还是得使用计算属性,直接生成一串样式的字符串,绑定到classstyle上:



5、在模板中,嵌套使用v-for时,必须指定索引index


通常,我们在Vue模板中嵌套循环渲染数组的时候,一般是这个样子的:


但在mpvue中使用这种嵌套结构的v-for时,则必须每层的v-for上都给出索引,且索引需取不同名字:


6、事件处理中的注意点


mpvue中,一般可以使用Web的DOM事件名来绑定事件,mpvue会将Web事件名映射成对应的小程序事件名,对应列表如下:


除了上面的之外,Web表单组件

责任编辑:52伐木累
热门阅读排行
© 16货源网 1064879863