【问题标题】:Getting a slug to save in vue获取 slug 以保存在 vue 中
【发布时间】:2017-11-28 05:21:57
【问题描述】:

我同时使用 vue 和 laravel,我正在尝试创建一个产品表单,该表单会在您键入时创建一个 slug。我设法得到 输入时会显示 slug,但我不确定如何将其保存到我的数据库中。

我的视频

<template>
    <div class="product-form">
        <form v-on:submit="onSubmit(model)">
            <div class="form-group">
                <label for="title">Title</label>
                <input type="text" id="title" class="form-control" name="title" v-model="model.title">
                <input type="hidden" name="slug" title="slug" :value="slug(model.title)">
                <p>{{ slug(model.title) }}</p>
            </div>

            <input type="submit" class="btn btn-default" value="Save"></input>
        </form>
    </div>
</template>

<script>
    export default {
        data() {
            return {
                model: {
                    title: '',
                    slug: '',
                },

            };
        },

        methods: {
             slug() {
                var title = this.model.title;

                var slug_test = title.replace(/\s+/g, '-');
                return slug_test;
            },

            onSubmit: function(model){

                event.preventDefault();

                this.$http.post('/database/articles', model)
            }
        },
    }
</script>

【问题讨论】:

  • 你的发布路线和控制器是什么样子的?还有什么错误?

标签: laravel laravel-5 vue.js vuejs2


【解决方案1】:

使用title 属性使模型的slug 属性保持最新就足够了。 这里最干净的方法是在您的title 上使用watcher 来更新slug,或者在您将其发布到服务器之前计算model.slug

【讨论】:

    猜你喜欢
    • 2017-05-30
    • 2017-10-19
    • 2018-05-02
    • 2021-09-09
    • 2015-08-15
    • 2019-07-01
    • 2020-10-22
    • 2023-02-18
    • 1970-01-01
    相关资源
    最近更新 更多