【问题标题】:Data is null outsdie of the function (Vuejs) [duplicate]函数之外的数据为空(Vue Js)[重复]
【发布时间】:2020-04-01 11:47:06
【问题描述】:

我正在尝试使用 vuejs 和 ajax 创建 API

如您所见,我将buffer 扔到this.codes = buffer 中的codes 中,但只是在success() 函数中工作

并且codes 在函数之外为空

我的代码尝试:

<div id="app">
    <a v-on:click.prevent="GetId($event)" value="1">click me!</a>
    @{{ codes }}
</div>

<script type="text/javascript" language="JavaScript">

    new Vue({
        el: '#app',
        data: {
                codes:null
        },
        methods:{
            GetId:function (event) {
                element = event.currentTarget;
                value = element.getAttribute('value');
                    $.ajax({
                        type : 'GET',
                        url : 'api/GetProduct/'+value,
                        async : false,
                        beforeSend : function(){},
                        dataType : 'json',
                        success : function(result){
                                    var buffer="";
                                    for(let i=0 ;i < Object.keys(result).length;i++) {
                                        buffer += "<div class='category-item'><a class='button-product-info-s' href='/product/"+result[i]['id']+"'/><img class='product-img-s' src='"+result[i]['pic_url'] +"'></a><p class='product-name-s'>"+result[i]['name']+"</p><a class='btns btn-primarys btn-buy-s' href='/product/"+result[i]['id']+"'></div>";
                                    }
                                    console.log(buffer);
                                    this.codes= buffer;
                        }
                    });
            }}});
</script>
</body>
</html>

【问题讨论】:

    标签: javascript laravel vue.js


    【解决方案1】:

    尝试将成功函数更改为箭头函数,因此来自:

    success : function(result){ ... }
    

    到:

    success :  result => { ... }
    

    这样做的原因是一个非箭头函数改变了“this”

    【讨论】:

      猜你喜欢
      • 2014-01-02
      • 1970-01-01
      • 1970-01-01
      • 2017-06-14
      • 2018-07-26
      • 2020-08-24
      • 2021-05-30
      • 2020-04-27
      • 1970-01-01
      相关资源
      最近更新 更多