Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vue.js Vuejs自定义组件-双向绑定不起作用,单向绑定起作用_Vue.js_Vue Component - Fatal编程技术网

Vue.js Vuejs自定义组件-双向绑定不起作用,单向绑定起作用

Vue.js Vuejs自定义组件-双向绑定不起作用,单向绑定起作用,vue.js,vue-component,Vue.js,Vue Component,我开始重构我的应用程序,以使用vue.js作为前端框架,并开始编写我将要使用的第一个组件 为此,我为表和行创建了一个组件 到目前为止,单向绑定是有效的(就像在我的模型更改中一样,更改将通过更新UI反映出来) 我对这部分的模型是一个对象数组,在这里我绑定到多个属性,其中一个属性称为Checked 现在,如果我更改模型,视图将更新,复选框将被选中,但是如果我手动选中复选框,则模型不会更新 Vue.component('peak-table-row', { props: ["peak", "g

我开始重构我的应用程序,以使用vue.js作为前端框架,并开始编写我将要使用的第一个组件

为此,我为表和行创建了一个组件

到目前为止,单向绑定是有效的(就像在我的模型更改中一样,更改将通过更新UI反映出来)

我对这部分的模型是一个对象数组,在这里我绑定到多个属性,其中一个属性称为Checked

现在,如果我更改模型,视图将更新,复选框将被选中,但是如果我手动选中复选框,则模型不会更新

Vue.component('peak-table-row', {
    props: ["peak", "graphname", "idx"],
    data() {
        return {
            _peak: {}
        };
    },
    created() {
        console.log(this);
        this.$data._peak = getPeak(this.graphname, this.idx);
    },
    render(h) {
        return h('tr', {
                style: {
                    backgroundColor: getColor(this.idx, 0.5)
                }
            }, [
                h("td", [h("input", {attrs: {type:"checkbox",checked:this.peak.Checked}})]),
            ]
        );
    }
});
Vue.use("peak-table-row");

到目前为止,文档确实很有用,但我似乎无法找到解决方法。

您可以使用v-model指令在表单输入上创建双向数据绑定,如checkbox

<input type="checkbox" id="checkbox" v-model="_peak.Checked">

示例:

Vue(如React)使用单向绑定。您可以使用来执行双向绑定