Laravel - 将多个值传递给 Vue

标签 laravel vue.js axios

我的 .vue 的一部分:

<script>
export default {
    props: ['photog-Id', 'gal-Id', 'photo-Id'],
    mounted() {
        console.log('Component mounted.')
    },

    methods: {
        setfavorite(){
            axios.get('/' + this.photog-Id + '/' + this.gal-Id + '/' + this.photo-Id + '/like')
                .then(response => {
                    alert(response.data);
                });
        }
    }
}
</script>

我的.blade:

<div>
   <set-fav photog-Id="{{$gallery->user->phcode}}" gal-Id="{{$gallery->galcode}}" photo-Id="{{$photo->filename}}" ></set-fav>
</div>

由于某种原因,只有 photog-Id 值被传递,而其他两个没有被传递..为什么?

另外,当我编译css和js时,我是否必须仅将已编译的上传到我的服务器,还是将未编译的上传到我的服务器?

最佳答案

由于您在 Blade 文件中使用 kebab-case 作为 props,因此您需要在 vue 文件中使用 CamelCase。更具体地说:

props: ['photogId', 'galId', 'photoId']

你的异步调用就变成了

axios.get('/' + this.photogId + '/' + this.galId + '/' + this.photoId + '/like')

此外,编译的文件应该被 git 忽略。当您部署新版本的 js/css 文件时,您的部署工具应该负责编译它们并将它们添加到项目的 public 文件夹中。

关于Laravel - 将多个值传递给 Vue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61258352/

相关文章:

javascript - Axios 拦截器 : block access to particular pages

javascript - 无法在 axios 上添加授权 header

vue.js - 动态更新值时如何更新vue.js中textarea的高度?

vue.js - VueJS : remove listener setup in view

php - 为什么我的创建表单请求在 Laravel5 中抛出 404 异常?

image - Laravel 干预图像添加带有字体的文本显示错误

vue.js - 让 Autoprefixer 与 TailwindCSS 和 Gridsome 一起工作

vue.js - 更好的方法处理 : 'Do not mutate vuex store state outside mutation handlers' errors

mysql - Eloquent 中的 IN 语句

php - 使用 php 的 Mysql 层次结构计数超过 10 个级别