1.呼叫 Header 中的設置 2.在Header中呼叫beforeCreate:undefined ->正確的 3.在Header中呼叫Provide 4. 在Container Nav中呼叫setup 5.Container Nav中調用beforeCreate:undefined ->正確的 6. 在 Container Nav 中建立的呼叫:未定義 ->不正確(應該是“/”) 7.在Container Nav中調用mounted:undefined ->不正確(應該是“/”) 8. 調用mounted在Header中:undefined ->不正確(應該是“/”) 9. Header 中所建立的呼叫:undefined ->不正確(應為“/”)<小時/>>
使用與相同的程式碼和選項 API 之前,除了使用 setup
和 提供
。</p>
<pre class="brush:php;toolbar:false;">從 'vue' 匯入 {defineComponent, Provide }
從“@/store”導入parentStore
設定() {
// 1.嘗試過這種方式
const navLinkHome = ParentStore().getTextualData[0]?.navigation.links.home
const navHome = 提供('navHome', navLinkHome)
// 2.嘗試過這種方式
const navHome = Provide('navHome',parentStore().getTextualData[0]?.navigation.links.home)
返回 {
// 1 & 2
導航首頁
// 也是這樣
navHome:提供('navHome',parentStore().getTextualData [0]?.navigation.links.home)
}
}</pre>
1.呼叫 Header 中的設置 2.在Header中呼叫beforeCreate:undefined ->正確的 3. 在Container Nav中呼叫setup 4.Container Nav中調用beforeCreate:undefined ->正確的 5. 在 Container Nav 中建立的呼叫:未定義 ->不正確(應該是“/”) 6.在Container Nav中調用mounted:undefined ->不正確(應該是“/”) 7. 調用mounted在Header中:undefined ->不正確(應該是“/”) 8. Header 中所建立的呼叫:undefined ->不正確(應為“/”)<h2>混亂</h2>
provide() {}
; Options API 時,並嘗試引用 navHome
。我無法在創建或安裝的方法中使用 this.navHome
。我會收到一條錯誤訊息,說它在 <code>CreateComponentPublicInstance</code>類型上不存在。為了解決這個問題,我改為使用 this.$refs.navHome
- 甚至不確定這是否是正確的做法。</p>
</li>
其次,當在 container-nav.vue
時組件中使用 inject: [ 'navHome' ]
;當時,我無法使用 this.navHome
訪問它。同樣,我只能使用 <code>this.$refs.navHome</code> 存取它。 </p>
</li>
</ul>
<p>但是。 </p>
<ul>
<li>在<code>header.vue</code> 的設定方法中使用Provide 並且在<code>container-nav.vue</code> 的設定方法中使用Inject 時,我可以使用<ue</code> 的設定方法時,我可以使用< ;code>this.navHome</code> 訪問<code>navHome</code> 。不知道為什麼要這樣做。 </li>
</ul><p><br /></p>
parentStore().getTextualData[0]?.navigation.links.home
在父級提供時具有值"/"
因為它不是一個響應式對象this.$refs.navHome
是錯誤的方式,this.navHome
應該可以工作。不過,我建議您使用組合 API 樣式