Vue.js 在 v-for 中使用方法

San*_*eer 6 javascript methods loops vue.js

我想在我的 Vue 组件的 v-for 中运行一个方法。例子:

<div v-for="(foo,index) in bar">
      <p>{{myMethod(foo,index)}}</p>
</div>
Run Code Online (Sandbox Code Playgroud)

当我这样做时,p-tag 只是保持为空。这是我的方法(使用 axios 调用):

 myMethod:function(foo,index) {
    axios.get('/myAjaxCall')
    .then((response)=> {
        //works perfectly
        alert(response.data);
        return response.data;

    })
    .catch(function (error) {
        console.error(error);
    });
   },
 }
Run Code Online (Sandbox Code Playgroud)

当 I 时alert( SomethingWithFooAndIndex),浏览器显示的正是我需要的。当我删除 axios 调用时,该方法似乎有效

谢谢!

Sur*_*amy 1

您的代码有问题。您错过了报价 <div v-for="(foo,index) in bar"> <p>{{myMethod(foo,index)}}</p> </div>

请参考以下jsbin http://jsbin.com/wovavut/edit?html,js,output