Javascript Vue警告未设置属性,即使已设置
我有一个表单,其中的输入绑定到带有v-model的vue实例。有一个文本框和几个复选框。所有绑定属性都在my JS的数据部分初始化。尽管如此,vue警告说属性“未在实例上定义,但在呈现过程中被引用”。尽管如此,页面仍使用正确的初始化值正确呈现。此外,这些警告仅针对复选框而不是文本输入弹出 我完全不知道这是为什么还是一个问题(一切正常;只有控制台中出现的大量警告才会让我暂停) HTML JS小提琴:Javascript Vue警告未设置属性,即使已设置,javascript,vue.js,Javascript,Vue.js,我有一个表单,其中的输入绑定到带有v-model的vue实例。有一个文本框和几个复选框。所有绑定属性都在my JS的数据部分初始化。尽管如此,vue警告说属性“未在实例上定义,但在呈现过程中被引用”。尽管如此,页面仍使用正确的初始化值正确呈现。此外,这些警告仅针对复选框而不是文本输入弹出 我完全不知道这是为什么还是一个问题(一切正常;只有控制台中出现的大量警告才会让我暂停) HTML JS小提琴: 编辑:我复制并粘贴了我的输入,并且没有将v-bind:for更改回for。我现在也意识到控制台警告
编辑:我复制并粘贴了我的输入,并且没有将
v-bind:for
更改回for
。我现在也意识到控制台警告明确地说是“scanOS”,而不是“userData.scanOS”。我想这就是我将变量命名为与元素ID相同的变量所得到的结果。…您将字符串绑定为变量。尝试将标签标记中出现的所有v-bind:for=“
替换为for=“
”。因为对于ex,v-bind:for=“scanOS”中的scanOS是一个字符串,所以Vuejs找不到变量scanOS
<div id="app">
<h2>Scan:</h2>
<form id="formNewScan" @submit="onNewScanSubmit">
<div class="form-group row">
<label class="col-form-label" for="scanName">Scan Name:</label>
<div class="col-md-10">
<input class="form-control col-md-10" id="scanName" type="text" placeholder="MyScan" v-model="userData.scanName"/>
</div>
</div>
<hr class="my-3"/>
<div class="form-group row">
<input id="scanOS" type="checkbox" v-model="userData.scanOS"/>
<label class="col-form-label" v-bind:for="scanOS" >OS Scan</label>
<input id="scanFF" type="checkbox" v-model="userData.scanFF"/>
<label class="col-form-label" v-bind:for="scanFF" >Firefox Scan</label>
<input id="scanHTTPD" type="checkbox" v-model="userData.scanHTTPD"/>
<label class="col-form-label" v-bind:for="scanHTTPD" >Apache httpd Scan</label>
<input id="scanTC" type="checkbox" v-model="userData.scanTC"/>
<label class="col-form-label" v-bind:for="scanTC" >Apache Tomcat Scan</label>
<input id="scanManual" type="checkbox" v-model="userData.scanManual"/>
<label class="col-form-label" v-bind:for="scanManual" >Grab System Info</label>
<input id="scanSCC" type="checkbox" v-model="userData.scanSCC"/>
<label class="col-form-label" v-bind:for="scanSCC" >SCC</label>
</div>
</form>
</div>
new Vue({
el: '#app',
data: {
userData: {
scanName: "",
scanOS: true,
scanFF: true,
scanHTTPD: false,
scanTC: false,
scanManual: false,
scanSCC: false,
},
},
methods: {
onNewScanSubmit: function() {
console.log("Hello")
}
}
})