【发布时间】:2016-11-14 16:31:24
【问题描述】:
如何使用模板继承(就像玉有的那样,extends file.jade 然后会覆盖同名的块)?
我知道我可以用合成来做任何事情,但是对于出现在每个页面上除了一两个页面(例如登录页面)的页脚和页眉之类的组件,我必须将它们写在每个组件上。在我的应用程序中,我有一个两级导航,在每个子组件上重复它们似乎很痛苦:(
我知道我可以使用jade,然后在我的组件中继承一个jade文件,但这似乎是错误的,因为我会有一些jade和一些Vue文件,有没有其他方法可以做到这一点?
// Component.vue
<template lang="jade">
extends ./StandardLayout
block content
router-view
</template>
// StandardLayout.Vue
<template lang="jade">
div
navbar
div.container
div.spacer
div.row
block content
<template>
我已经解决了一个布局文件夹,里面装满了翡翠布局,我用它们来扩展我的组件。我将 vue-cli 与 webpack template 一起使用。
【问题讨论】:
-
也许我遗漏了一些东西,但如果你使用的是
router-view,你应该只是动态地用新的页面内容更改那个元素。所以,你只需要一页的布局代码。 -
不,你不是,我使用路由器,但有些部分只是 html 标记,我不想使用路由器继承它们,我只想继承标记,我使用路由器方法现在,但它似乎有点矫枉过正
标签: javascript templates vue.js