我不知道为什么Laravel会出现此错误?

时间:2019-10-17 17:38:02

标签: laravel vue.js

我已经编写了这段代码,我想帮助用户动态输入文本并显示具有值的字段,但是当我运行laravel + VueJs组件视图时,我无法获得结果。以下是我的代码

<template>
<div>
    <div>
        <label>Name</label>
        <input type="text"  @change="addRow">
    </div>
    <div> <label>Email</label>
        <input type="text"  @change="addRow1">
    </div>
    <div v-for="row in rows" :key="row.id">
        <button-counter :id="row.id" :value="row.value"></button-counter>
    </div>
</div>

<script type="text/javascript">
Vue.component('button-counter', {
    props: {
        value: {
            default: ''
        }
    },
    template: '<input type="text" style="margin-top: 10px;" v-model="value" >',
})

export default {
    mounted() {
        console.log('Component mounted.')
    },

    data: {
        rows: [],
        count:0
    },
    methods: {
        addRow: function () {
            var txtCount=1;
            id='txt_'+txtCount;
            this.rows.push({ value:'MyName' , description: "textbox1", id });

        },
        addRow1: function () {
            var txtCount=1;
            id='txt2_'+txtCount;
            this.rows.push({ value: "myEmail", description: "textbox2", id });

        }

    }


}

1 个答案:

答案 0 :(得分:0)

data应该是一个函数,该函数返回保存要处理的数据的对象,并且需要将id定义为变量,这是一个有效的Vue SFC

Edit Vue Template

<template>
    <div>
        <div>
            <label>Name</label>
            <input type="text" @change="addRow" />
        </div>
        <div>
            <label>Email</label>
            <input type="text" @change="addRow1" />
        </div>
        <div v-for="row in rows" :key="row.id">
            <button-counter :id="row.id" :value="row.value"></button-counter>
        </div>
    </div>
</template>

<script type="text/javascript">
Vue.component("button-counter", {
    props: {
        value: {
            default: ""
        }
    },
    template: '<input type="text" style="margin-top: 10px;" v-model="value" >'
});

export default {
    data() {
        return {
            rows: [],
            count: 0
        };
    },
    methods: {
        addRow: function() {
            var txtCount = ++this.count;
            let id = "txt_" + txtCount;
            this.rows.push({ value: "MyName", description: "textbox1", id });
        },
        addRow1: function() {
            var txtCount = ++this.count;
            let id = "txt2_" + txtCount;
            this.rows.push({ value: "myEmail", description: "textbox2", id });
        }
    }
};
</script>

希望这会有所帮助