1. ホーム
  2. javascript

[解決済み] [Vue warn]: 要素が見つかりません

2022-04-21 04:04:31

質問

を使っています。 Vuejs . これは私のマークアップです。

<body>
  <div id="main">
    <div id="mainActivity" v-component="{{currentActivity}}" class="activity"></div>
  </div>
</body>

これは私のコードです。

var main = new Vue({
    el: '#main',
    data: {
        currentActivity: 'home'
    }
})
;

ページを読み込むと、このような警告が表示されます。

[Vue warn]: Cannot find element: #main

何が間違っているのでしょうか?

どうすればいいですか?

問題は、対象の dom 要素が dom に読み込まれる前にスクリプトが実行されることだと思います。理由の 1 つは、スクリプトをページの先頭または div 要素の前に置かれた script タグに配置していることです。 #main . そのため、スクリプトが実行されたときに、ターゲットとなる要素が見つからず、エラーとなるのです。

解決策のひとつは、loadイベントハンドラの中にスクリプトを配置することです。

window.onload = function () {
    var main = new Vue({
        el: '#main',
        data: {
            currentActivity: 'home'
        }
    });
}


別の構文

window.addEventListener('load', function () {
    //your script
})