刘贵学博客

Vue 中的疑难杂症整理

1. 数组不支持监听

1). $set 元素赋值

    this.arr[2] =  "modify"

替换:

    this.$set(this.arr,  2,  "modify");

2). 使用 splice也可替换

    this.arr.splice(2, 1, "modify")

2. 打包Cordova资源加载问题

注册一个全局 $static 函数,用于绝对路径的转换:

Vue.prototype.$static = function(path) {
        let isCordova = window.location.protocol.match(/^file/);

    let staticPath = path;
    if(path.match( /^\/static/) ){
      if(isCordova){
        staticPath = "/android_asset/www/"+path;
      }
    }
    console.log("staticPath=",staticPath);
    return staticPath;
}

使用方法:

  computed: {
        thumbnail(){
          return this.$static(this.project.Thumbnail);
        }
  },

背景的使用方法:

<div class="home-page" :style="bgStyle">


computed:{
       bgStyle(){
           return {
             backgroundImage: `url(${this.$static("/static/index.png")})`
          }
       }
  },

3. Cordova 编译apk

参考: https://7449.github.io/2017/08/07/Android_Cordova_apk/