internet-explorer - Vue.js 严格模式下不允许属性的多个定义
问题描述
再会。
我们正在使用 Vuejs/Vuex/vue-router 使用https://github.com/vuejs/vue-hackernews-2.0构建我们的应用程序
当使用 IE11 构建和查看我们的应用程序时,我们会得到一个SCRIPT1046: Multiple definitions of a property not allowed in strict mode
,它引用了编译后的app.[#hash].js
文件。我已在组件中将重复属性跟踪到以下内容:
<div class="form-group form-group-list">
<label aria-labelledby="Shopping preference">Shopping preference</label>
<ul class="inline">
<li>
<label for="users__secondary_signup__gender__female" aria-labelledby="Gender female">
<span class="enhanced-radio" :class="{ 'selected': selectedGender === 'FEMALE' }">
<input id="users__secondary_signup__gender__female" class="enhance-radio"
:checked="selectedGender === 'FEMALE'" name="gender"
type="radio" value="FEMALE" v-model="selectedGender">
</span> Female
</label>
</li>
<li>
<label for="users__secondary_signup__gender__male" aria-labelledby="Gender male">
<span class="enhanced-radio" :class="{ 'selected': selectedGender === 'MALE' }">
<input id="users__secondary_signup__gender__male" class="enhance-radio"
:checked="selectedGender === 'MALE'" name="gender"
type="radio" value="MALE" v-model="selectedGender">
</span> Male
</label>
</li>
</ul>
</div>
编译文件中对这些的唯一引用是:
domProps: {
checked: "MALE" === t.selectedGender,
checked: t._q(t.selectedGender, "MALE")
},
and
domProps: {
checked: "FEMALE" === t.selectedGender,
checked: t._q(t.selectedGender, "FEMALE")
},
我在编译文件中找不到对象中可能存在重复属性的其他任何地方。有人见过这个吗?我们是否在组件中做错了什么才能做到这一点?
谢谢,任何帮助表示赞赏。
解决方案
您不能同时使用 v-model 和 :checked 。当您添加 v-model="selectedGender" 时,您为它提供了一种根据 selectedGender 的值确定检查状态的方法。这导致它创建了以下代码:
检查:t._q(t.selectedGender, "MALE")
当您还添加 :check="selectedGender === 'FEMALE'" 时,您会导致它添加这种其他方式来设置检查状态:
选中:“女性”=== t.selectedGender,
你不能两者兼得。只需删除 :checked= 即可解决此问题。
推荐阅读
- php - 如何执行 PHP 任务并暂停/休眠另一个正在执行的任务,直到第一个任务完成/完成一半?
- list - Haskell 中的详细列表理解
- javascript - 在android中使用时间选择器循环时间
- mysql - 使用 @OneToMany 休眠奇怪的行为并进行更新
- r - ggplot2中不同长度的标签和中断
- java - 是否可以覆盖 Javers 中的版本号系统?
- php - PHP:计算数组中的数组
- c# - 我可以将类名作为 XML 元素给出吗?
- python-2.7 - AttributeError:“模块”对象没有属性“DEVNULL”
- java - 如何在没有方法 toUppercase 的字符串中获取大写而不是小写。PS 下面