Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.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
Internet explorer Vue.js-IE11中的动态输入中断_Internet Explorer_Vue.js_Internet Explorer 11_Checkboxlist_Strict Mode - Fatal编程技术网

Internet explorer Vue.js-IE11中的动态输入中断

Internet explorer Vue.js-IE11中的动态输入中断,internet-explorer,vue.js,internet-explorer-11,checkboxlist,strict-mode,Internet Explorer,Vue.js,Internet Explorer 11,Checkboxlist,Strict Mode,在IE中查看我的应用程序时,尝试在Vue中创建动态输入时出错。页面未加载,我得到“严格模式下不允许多个属性定义” 输入同时具有v-model和:value属性,在大多数情况下,这些冲突是有意义的。但是,对于多个复选框和单选按钮,该属性对于确定为v-model分配的值应该是什么是必需的 即使显示这是使用复选框数组的正确方法,但它们不使用动态值属性。由于该组件的使用方式,该值需要是动态的 下面是代码的抽象外观: <input v-model="questionAnswer" :disa

在IE中查看我的应用程序时,尝试在Vue中创建动态输入时出错。页面未加载,我得到“严格模式下不允许多个属性定义”

输入同时具有v-model和:value属性,在大多数情况下,这些冲突是有意义的。但是,对于多个复选框和单选按钮,该属性对于确定为v-model分配的值应该是什么是必需的

即使显示这是使用复选框数组的正确方法,但它们不使用动态值属性。由于该组件的使用方式,该值需要是动态的

下面是代码的抽象外观:

<input
  v-model="questionAnswer"
  :disabled="readOnly"
  :type="type"
  :value="value"
>


IE中的这个错误有什么解决方法吗?它在所有其他浏览器中都能正常工作。谢谢

v型
输入上

因为你说你发布的是“代码抽象的样子”,所以很难给出确切的答案,但我认为这会有所帮助。如果没有,请发布一个简单的工作示例来显示您的bug

此外,我还测试了您在IE11中引用的多复选框示例,该示例运行良好。

“严格模式下不允许对属性进行多个定义。”

在代码中设置重复属性时,通常会出现此问题

v-model将忽略任何表单元素上的初始值、选中或选定属性。它将始终将Vue实例数据视为真相的来源。您应该在组件的data选项内的JavaScript端声明初始值

问题可能在于:value=“value”绑定可能与v-model vlue冲突

我想问一下,您的代码显示了错误消息的哪一行

以下是可能对您的要求有所帮助的工作代码:


{{checkedvalue.valueselect}
选中的名称:{{checkedNames}
var demo=新的Vue({
el:'演示',
数据:{
选中名称:[],
名称列表:[{
valueselect:'aaa'
}, {
valueselect:'bbb'
}, {
值选择:“ccc”
}]
},
方法:{
检查:功能(e){
如果(例如,选中目标){
console.log(例如target.value)
}
}
}
})

这里有一个参考链接也可能对您有所帮助:

这个错误确实是由同一元素上的
v-model
:value
指令引起的。IE中生成的JS代码类似于
{value:'value1',value:'value2'}

v-model
应以不同方式处理某些标记。对于复选框,它应该生成一个
选中的
道具,而不是
道具。但在IE中,这种特殊情况的检查似乎有问题。仅当您按字面而不是表达式设置输入类型时,它才起作用。对我来说,它是这样工作的:

<input type="checkbox" :value="value" v-model="model" />

而不是:

<input :type="type" :value="value" v-model="model" />

你真是个天才!这非常有用。
<div id="demo">
    <div v-for="checkedvalue in NamesList">
        <input type="checkbox" :value="checkedvalue.valueselect" v-model="checkedNames" @click="check($event)" > {{checkedvalue.valueselect}}
    </div>
    <span>Checked names:{{ checkedNames }}</span>
</div>
<script>
    var demo = new Vue({
        el: '#demo',
        data: {
            checkedNames: [],
            NamesList: [{
                valueselect: 'aaa'
            }, {
                valueselect: 'bbb'
            }, {
                valueselect: 'ccc'
            }]
        },
        methods: {
            check: function (e) {
                if (e.target.checked) {
                    console.log(e.target.value)
                }
            }
        }
    })
</script>
<input type="checkbox" :value="value" v-model="model" />
<input :type="type" :value="value" v-model="model" />