【问题标题】:I don't know why this error comes inside Laravel?我不知道为什么这个错误出现在 Laravel 内部?
【发布时间】:2020-02-14 16:38:40
【问题描述】:

我已经编写了这段代码,我想方便用户动态输入文本并显示具有值的字段,但是当我运行它时无法得到结果 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 });

        }

    }


}

【问题讨论】:

标签: laravel vue.js


【解决方案1】:

data 应该是一个函数,它返回一个包含您要操作的数据的对象,并且您需要将 id 定义为一个变量,这是一个有效的 Vue SFC

<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>

希望对你有帮助

【讨论】:

  • 很高兴,如果它解决了问题,请考虑接受答案
  • 如何计算两个输入值并将结果放入另一个变量中?我有按钮 A 和按钮 B,当这些按钮被点击时,我得到了两个具有某些值的输入框我想存储这两个输入框的总数,并且还希望动态创建它们的标签
  • 为此提出一个新问题
猜你喜欢
  • 2016-10-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-27
相关资源
最近更新 更多