Javascript 如何在方法中将Vue prop用作变量?

Javascript 如何在方法中将Vue prop用作变量?,javascript,laravel,vue.js,laravel-nova,Javascript,Laravel,Vue.js,Laravel Nova,我是Vue的新手,很难掌握所有的概念。我目前正在构建一个Laravel应用程序,并使用Vue来补充一些视图。我试图做的是在Vue组件(Laravel Nova卡)的帮助下,对我的后端API进行一个非常简单的调用 我有一个帐户\u id,我可以通过如下道具访问: resource.fields[3].value 然后我尝试调用api并保存与帐户相关的数据 data() { return { account: { name: '',

我是Vue的新手,很难掌握所有的概念。我目前正在构建一个Laravel应用程序,并使用Vue来补充一些视图。我试图做的是在Vue组件(Laravel Nova卡)的帮助下,对我的后端API进行一个非常简单的调用

我有一个
帐户\u id
,我可以通过如下道具访问:

resource.fields[3].value
然后我尝试调用api并保存与帐户相关的数据

data() {
    return {
        account: {
            name: '',
            location: '',
            type: ''
        }
    };
},

methods: {
    getAccount() {
        let vm = this;
        var account_id = vm.resource.fields[3].value;
        page_url = page_url || '/api/accounts/${account_id}';
        fetch(page_url)
        .then(res => res.json())
        .then(res => {
            this.account = res.data;
        })
        .catch(err => console.log(err));
    }
}
然后在我的视图中渲染它:

<h1>{{ account.name }}</h1>
<p>{{ account.location }}</p>
<p>{{ account.type }}</p>
{{account.name}
{{account.location}

{{account.type}

我的所有端点都是正确的-当我访问
app.dev/api/accounts/{id}
时,我得到一个包含所有字段的JSON数组。但是,当我尝试渲染视图时,在视图中看不到任何数据


我如何才能做到这一点?

我认为首先需要检查服务器的请求,请求的URL是什么

所以,我想在这里
page_url=page_url | |'/api/accounts/${account_id}
您应该像这样使用backticks(`)
page_url=page_url||`/api/accounts/${account_id}`

如果所有这些都不适合你。我想你可以通过
props

data() {
    return {
        account: {
            name: '',
            location: '',
            type: ''
        }
    };
},
props: ['account_id'],
methods: {
    getAccount() {
        let vm = this;
        var account_id = vm.resource.fields[3].value;
        page_url = page_url || `/api/accounts/${this.account_id}`;
        fetch(page_url)
            .then(res => res.json())
            .then(res => {
                this.account = res.data;
            })
            .catch(err => console.log(err));
    }
}
在调用者组件中,使用v-bind=“account\u id”对该组件进行
prop


希望它能帮助你。

应该
this.account=res.data改为
vm.account=res.data
设置组件上的值?@Peter应该无关紧要,因为OP使用的是箭头函数,您有
app.dev/api/accounts/{id}
/api/accounts/${account\u id}
。应该是哪一个?另外,在哪里定义了
道具
。还可以查看网络选项卡,在那里您应该可以看到任何AJAX请求。你看到有人提出要求了吗?如果是,反应是什么(包括实际反应数据)@Phil当然!谢谢。啊哈,关于背虱的好消息。美好的是的,是背虱!非常感谢。