vue +这是结合了什么框架让我甚是难受?

问题描述

不能定义:一个动态数组+多个局部变量

问题出现的环境背景及自己尝试过哪些方法

没办法只好定义全局变量0.0

相关代码

Vue.component('weeklist', {

props : {
    datas : Array
},
data () {
    document.cookie="tab=1";
    $.ajax({
        url : 'jsonActionRed',
        type : 'GET', //GET
        async : false, //或false,是否异步
        //timeout : 5000, //超时时间
        dataType : 'json', //返回的数据格式:
        success : function(data) {
            this.items = data.data;
        },
        error : function(data) {
            alert("失败!!");
        }
    })
    return {
        items
    }
},
methods : {
    timeFormate:function(time) {
        var timestamp=new Date().getTime();
      return time>timestamp;
    },
    linkTo : function(url, param) {
        this.$router.push({
            path : url,
            query : {
                name : param
            }
        });
    },
    toDetails : function(contentVOName) {
        this.linkTo('/copyintroduce/' + contentVOName, contentVOName);
    },
    
},
template : `<div class="paihang-box">
    <slot v-if="items.length>0">
      <ul class="paihang-forefront" v-if="items.length>5">
      <!--当列表条数大于5时格式-->
        <li v-for="(item, index) in items" :key="index" v-if="items.length>5 && index>2&&timeFormate(item.contentList[0].powerLostTime)||item.wincount!==0" @click='toDetails(item.contentVOName)' :data-contenVOName="item.contentVOName">
        </li>

        <!--当列表条数小于等于5时格式-->
        <li v-for="(item, index) in items" :key="index" v-if="items.length<=5" v-bind:class="{'not-border': index==0}" @click='toDetails(item.contentVOName)' :data-contenVOName="item.contentVOName">
        </li>
      </ul>
    </slot>
    <div class="notdata" v-if="items.length==0">抱歉,暂无数据~</div>
 </div>`

})

你期待的结果是什么?

定义一个动态数组,
多个局部变量
Vue.prototype.flags=false;
Vue.prototype.position={ x: 0, y: 0 };
Vue.prototype.nx= '', ny= '', dx= '', dy= '', xPum= '', yPum= '';
把这个加入到 data()方法里,且不能是全局变量

阅读 1.6k
1 个回答

看你的代码的意思好像是要加载组件的时候获取数据赋值给items

data(){
    return {
        items: null
    }
},
created () {
    var _this = this
    document.cookie="tab=1";
    $.ajax({
        url : 'jsonActionRed',
        type : 'GET', //GET
        async : false, //或false,是否异步
        //timeout : 5000, //超时时间
        dataType : 'json', //返回的数据格式:
        success : function(data) {
            // 这里用this指的可是ajax对象啊
            _this.items = data.data;
        },
        error : function(data) {
            alert("失败!!");
        }
    })
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题