Vue.js严格模式下不允许属性的多个定义

Wil*_*lco 4 internet-explorer webpack vue.js vue-router vuex

美好的一天。

我们正在使用https://github.com/vuejs/vue-hackernews-2.0使用Vuejs / Vuex / vue-router构建应用程序

当使用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>
Run Code Online (Sandbox Code Playgroud)

编译文件中对此的唯一引用是:

domProps: {
    checked: "MALE" === t.selectedGender,
    checked: t._q(t.selectedGender, "MALE")
},
and
domProps: {
    checked: "FEMALE" === t.selectedGender,
    checked: t._q(t.selectedGender, "FEMALE")
},
Run Code Online (Sandbox Code Playgroud)

我无法在编译文件中的其他任何地方找到对象中可能存在重复属性的地方。有人看过吗?我们在组件中是否为此做错了?

多谢您的协助。

Cha*_*les 5

您不能同时使用v-model和:checked。添加v-model =“ selectedGender”时,您提供了一种基于selectedGender值确定检查状态的方法。这导致它创建以下代码:

已检查:t._q(t.selectedGender,“男”)

当还添加了:check =“ selectedGender ==='FEMALE'”时,导致它添加了另一种设置检查状态的方法:

选中:“女性” === t.selectedGender,

不能两者兼有。只需删除:checked =即可解决此问题。