javascript - Vuejs 中渲染函数的两种方式绑定(bind)

标签 javascript vue.js vuejs2 vue-component

我正在 Vuejs 中构建一个应用程序,在其中为 input 字段创建渲染函数。我正在发出一个输入事件来与v-model绑定(bind)。当我分配/插入任何值时,我可以看到值正在被分配,但是当我以另一种方式分配时,即为输入字段的 v-model 分配任何值时,它显示为空,或者显示占位符值(如果可用)

这是我的代码:

createElement('input', {
    class: 'form-control m-input',
    attrs: { type: this.type, placeholder: this.placeholder },
    on: {
        input: (event) => {
            this.$emit('input', event.target.value)
        }
    }
})

在 Prop 中我有:

props: {
    label: String,
    type: String,
    placeholder: String,
},

在声明组件时我会这样做:

<nits-input
        label="Email"
        type="email"
        placeholder="Enter your email"
        v-model="email"
>
</nits-input>

在数据中,我尝试分配值:

data() {
    return {
        email: 'test@example.com',
    }
},

如何实现为 v-model 赋值并将其显示在相应字段中。帮我解决这个问题。谢谢。

最佳答案

v-model 实际上只是拥有 value 属性并发出输入事件的简写。

因此,除了现有的 props 之外,您还需要添加一个值 1:

props: {
    label: String,
    type: String,
    placeholder: String,
    value: String
},

关于javascript - Vuejs 中渲染函数的两种方式绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53966795/

相关文章:

javascript - Angular4选择的选项在 "select"标签中选择后消失

javascript - 为什么长度在定义之前在浏览器中就等于0?

javascript - 深层嵌套对象中的 react 性不起作用

css - Vuejs 在 css 中应用循环来放置悬停

image - 无法使用 VueJS 将文件传递给 Laravel Controller

javascript - 在 Internet Explorer 上获取 csv 数据失败

javascript - 将动态 CSS 样式应用于谷歌地图的标记

vue.js - Axios 参数未正确附加到 URL

javascript - 使用 Vuex 更新数组中的对象

javascript - 使用 vuejs 而不使用指令的域特定语言