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 时,我可以使用 <code>this.navHome</code> 访问 <code>navHome</code> 。不知道为什么这样做。</li>
</ul><p><br /></p>
parentStore().getTextualData[0]?.navigation.links.home
在父级提供时具有值"/"
因为它不是一个响应式对象this.$refs.navHome
是错误的方式,this.navHome
应该可以工作。不过,我建议您使用组合 API 样式