因此,我有一個Vuejs書籍組件,它獲得了一個「書」道具,它是一個帶有標題,顏色,章節等的對象。下面是代碼。該模板工作正常,並能夠創建章節。我想要做的是在掛載上設置導航顏色。VueJS道具意外行爲
Vue.component('book', {
props: ['book'],
template: `
<section class="book">
<h1 :id="book.title"><i class="fa fa-book"></i> {{ book.title }} {{ book.description }}</h1>
<chapter v-for="chapter in book.chapter" :chapter="chapter"></chapter>
</section>
`,
mounted: function() {
console.log(this);
console.log(this.book);
document.getElementById("nav").style.backgroundColor = '#' + this.book.color;
}
});
在安裝功能,console.log(this)
表明組件正確地與觀察者的道具,所有的屬性,但是打印時this.book
只觀測顯示出來,這就是爲什麼this.book.color
不起作用。這種不一致的原因是什麼?爲什麼組件中的圖書對象不是this.book
?
你如何查看數據控制檯?通常數據在您查看時進行評估,而不是在您登錄時進行評估。另外,爲什麼不從一開始就簡單地在'CSS'類中添加顏色,或者像這樣:https://vuejs.org/v2/guide/class-and-style.html#Object-Syntax-1 – Cristy
backgroundColor是對於只是常規html元素的導航欄。 – arlyon
嘗試在'this。$ nextTick()'中改變顏色。 – Cristy