我正在尝试使用主题继承来修改 VuePress 默认主题导航栏。阅读 1.x 文档后,我相信我正在应用推荐的内容,但网站无法正确构建。
我已添加extend = '@vuepress/theme-default'
到我的config.toml
文件中,并创建了一个名为的目录.vuepress/theme/components/
,我已将文件Navbar.vue
.
生成站点时,我的终端给了我以下警告:
warning [vuepress] Cannot resolve Layout.vue file in undefined, fallback to default layout: ...
Run Code Online (Sandbox Code Playgroud)
该网站确实有效,但未使用默认主题,并且页面全部关闭。
我正在学习 Kotlin 中的子类型和超类型,最初假设这些术语意味着继承和父类。但是在阅读了 JetBrains 的这篇文章后,我不确定我是否完全理解子类型的含义。
该帖子解释说,它Any
是Any?
(有道理的)Number
的子类型,是 的子类型Any
,并且Int
是 的子类型Number
。到目前为止一切顺利(Any?
-> Any
-> Number
-> Int
)和(Any?
-> Number?
-> Int?
)。
但请注意图#5:
此图(以及随附的文本)暗示并解释了Number
是其可为空对应物 的子类型Number?
,并且它Int
也是其可为空对应物 的子类型Int?
。这听起来很直观的,直到你记住,Int
也是一个亚型Number
,和Number
子类型Any
!这与 Kotlin 文档直接矛盾,后者指定
Kotlin 支持单父类继承——所以每个类(除了根类 Any)都有一个父类,称为超类。
我假设子类型本身不是子类(一个类可以同时是多个父类的子类型?)。如果是这样,有人可以为我澄清 Kotlin 中“子类型”和“超类型”的确切含义吗?