让前端飞微信小程序开发码农的世界

mpvue 全局变量在HTML模板<template>

2019-03-04  本文已影响5人  honey缘木鱼

我们在开发项目时,经常用到的就是全局变量,在vue.js项目中,只要在main.js设置好全局变量后,在所有的页面方法和模板中都可以引用,把vue.js项目中的代码直接拷贝到mpvue时,发现在模板中不可用,下面解决方案:

(1).main.js设置的全局变量

Vue.prototype.$headerImg ='https://yjmall.oss-cn-qingdao.aliyuncs.com/'
Vue.prototype.$smallImg ='?x-oss-process=style/xx-compress'

(2).在Vue页面模板中使用(不可行)

<template>
<div  class="bgView">
  <img v-bind:src="$headerImg+item.displayPicture+$smallImg"/>
</div>
</template>

解决方案:
(1).在data中设置变量,可直接使用

 <img v-bind:src="headerImg+item.displayPicture+smallImg"/>//直接使用

data () {
    return {
        results: [],
        headerImg: 'https://yjmall.oss-cn-qingdao.aliyuncs.com/',
        bigImg: '?x-oss-process=style/xx-compress',
        isTest: false,
    }
  }

(2).用computed属性

 <img v-bind:src="headerImg+item.displayPicture+bigImg"/>

computed: {
      headerImg() {
            return this.$middleImg
       },
       middleImg() {
           return this.$middleImg
        }

有些复杂的方法无法在template中直接写method,我们就可以用computed属性如上述方法这样,就可以直接使用了。

上一篇 下一篇

猜你喜欢

热点阅读