在vuejs中,当页面完成加载时,我如何规定输入字段不被禁用。
我对vuejs和JavaScript非常陌生。
下面是一个大概的主意-请指出正确的方向
文件:
<!-- chart title -->
<body>
<div>
<label>Chart Title:</label>
<input :disabled=isDisabled id="ChartTitle" name="ChartTitle" type="text" v-model="data_chartTitle"/>
</div>
</body>
methods: {
isDisabled() {
if (document.readyState === 'complete')
return this.data_chartTitle.validated == 1;
}
}
答案 0 :(得分:1)
您的语法不正确,您需要将:disabled=isDisabled
替换为:disabled="isDisabled()"
。
您也可以使用a watcher。每次更改data_chartTitle
时,观察者的处理程序将执行。 deep: true
意味着观察者可以监视对象的每个子属性。
<input :disabled="disabled" id="ChartTitle" name="ChartTitle" type="text" v-model="data_chartTitle"/>
data: {
return {
...
disabled: true
}
},
watch: {
data_chartTitle: {
handler(val)
this.disabled = val.validated === 1
},
deep: true
}
}
但是,我看到data_chartTitle
被用作输入的v模型,这意味着它应该是一个字符串,但也应该作为您方法中的一个对象。这可能会引起问题。