一部不具合を含んだコードや誤った記述があったため、質問を削除しました。再度調べ直して投稿します。
disabledクラスはあらかじめHTML内に記述されているのでしょうか?
それともVueJS内で付与されますか?(その場合そのタイミングでisSeminarDisabledの値を変更してください)
それともjQuery等からクラスを追加してそれをVueに反映させたいのでしょうか?
disableクラスは
```
<div class="inquiry-form-inner <%= disabled_class("disabled") %>">
この中にformがある
</div>
```
という形で記載してあります。
<%= disabled_class("disabled") %>はRailsのなかでhelperを定義して、「受付終了」の場合はdisabledを付与するようにしています。
disabledクラスはVueインスタンスが生成され、DOMを生成し終わった後に、
無くなったり、着いたりしますか?
無くなったり、着いたりしないのであれば、
Vueインスタンスがmountedした時に、
disabledクラスが付与された要素をgetElementして、
isSeminarDisabledを設定できると思います。
DOMを生成し終わった時から見ると、そこから消えたりということはないです。上記のコードの通り、このdisabledというクラスはRailsのhelperメソッドを使って、このページが「受付終了なのかそうでないのか」を判断してから付与されます。なのでDOMを生成した後に何か処理が起こるということはありません!
> 無くなったり、着いたりしないのであれば、
> Vueインスタンスがmountedした時に、
> disabledクラスが付与された要素をgetElementして、
> isSeminarDisabledを設定できると思います。
とのことでしたので、
mounted: function() {
const isSeminarDisabled = this.$refs.inquiryFormInner.classList.contains('disabled');
if(isSeminarDisabled) {
this.isSeminarDisabled = true
}
},
computed: {
submitValue: function() {
if (this.isSeminarDisabled) {
return "受付終了しました"
}
return "申し込む"
},
},
のような形でやれば良いですかね?
getElementsByClassNameとかでも良さそうですが。