私はVueでコンポーネントを作成しています。ちょうど簡単なナビゲーション。メソッドを使うと、私はアクティブスクリプトを作成しました。私も "作成された" loadfunctionスクリプトを作成し、その要素をコンソール化しました。それは私のコンソールに次のエラーを与えるVue2エラー 'classList' of nullエラー
:
TypeError: Cannot read property 'classList' of null
at VueComponent.created (eval at <anonymous> (app.js:1002), <anonymous>:23:67)
at callHook (eval at <anonymous> (app.js:672), <anonymous>:2275:21)
at VueComponent.Vue._init (eval at <anonymous> (app.js:672), <anonymous>:3758:5)
at new VueComponent (eval at <anonymous> (app.js:672), <anonymous>:3922:12)
at createComponentInstanceForVnode (eval at <anonymous> (app.js:672), <anonymous>:3117:10)
at init (eval at <anonymous> (app.js:672), <anonymous>:2925:45)
at createComponent (eval at <anonymous> (app.js:672), <anonymous>:4656:9)
at createElm (eval at <anonymous> (app.js:672), <anonymous>:4599:9)
at createChildren (eval at <anonymous> (app.js:672), <anonymous>:4724:9)
at createElm (eval at <anonymous> (app.js:672), <anonymous>:4632:9)
私は.classList
を削除すると、それはまだnull
値ではなく空の配列を与える変なふうには十分。
はここ(注意これはオランダ語である)コンポーネントの私のコードです:
<script>
export default {
name: 'frontnav',
data() {
return {
aantal: [
'Aankomende Gasten',
'In Huis',
'Vertrekkende Gasten',
'Dag Gasten'],
dag: [
'Vandaag',
'Morgen',
'Overmorgen',
'Deze Week',
'Volgende Week'],
active: 'Aankomende Gasten'
}
},
methods: {
makeActive: function (aantal) {
this.active = aantal;
let el = document.querySelector('nav tr a:first-child');
document.querySelector('.' + item).classList.add('active');
},
loadfunction: function() {
const el = document.querySelector('nav a:first-child');
el.classList.add('active');
}
},
created() {
this.loadfunction();
console.log(document.querySelector('nav tr a:first-child').classList);
}
}
でなければなりません。通常、DOM操作を使用する必要はありません。あなたのテンプレートを表示する場合、私は例を提供することができます。 – Bert
は単に質問セレクタで問題を解決しましたが、thxx @bert :) – Daniel