页面加载完成后如何启用禁用的输入字段-Vuejs

时间:2018-07-19 15:30:36

标签: javascript vue.js

在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;
 }  
}

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模型,这意味着它应该是一个字符串,但也应该作为您方法中的一个对象。这可能会引起问题。