20、vue.js 之vue模板间的传值
1、引入的模板间传值
实际上就跟父组件跟子组件的传值处理方式一样。
App.vue代码
<template>
<div id="app">
<!-- 路由显示的地方 -->
<vheader :title="title"></vheader>
<router-view></router-view>
</div>
</template>
<script>
import header from "./components/header.vue" // 引入模板
export default {
// vue代码都在这里写
name: "app",
data () {
return {title: "hello chongqing!"}
},
components: {
vheader: header
}
}
</script>
<style>
#app {
font-family: "Avenir", Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
margin-top: 60px;
}
</style>
说明:
header.vue代码
<template>
<div>
<h1>公共头部文件</h1>
<h3>{{title}}</h3>
</div>
</template>
<script>
export default {
props: ["title"]
}
</script>
说明:
2、路由视图传值
实际上也是跟父组件传值给子组件一样,只是哪个模板被加载,这个值就传给了那个模板
App.vue代码:
<template>
<div id="app">
<!-- 路由显示的地方 -->
<vheader :title="title"></vheader>
<!-- 在路由视图标签里面传值,则是传给了被加载的模板 -->
<router-view :title="title"></router-view>
</div>
</template>
<script>
import header from "./components/header.vue" // 引入模板
export default {
// vue代码都在这里写
name: "app",
data () {
return {title: "hello chongqing!"}
},
components: {
vheader: header
}
}
</script>
<style>
#app {
font-family: "Avenir", Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
margin-top: 60px;
}
</style>
说明:
a.vue代码:
<template>
<div>
这里是a模板:{{title}}
</div>
</template>
<script>
export default {
props: ["title"]
}
</script>
说明:
index.js代码:
import Vue from "vue"
import Router from "vue-router"
import Hello from "@/components/Hello"
import a from "@/components/a"
Vue.use(Router)
export default new Router({
routes: [
{
path: "/",
name: "Hello",
component: Hello
},
{
path: "/a",
name: "a",
component: a
}
]
})
说明:
其他说明-网址的拼接:
1、直接按照平时的vue环境拼接,实际就是es6语法的字符串的拼接
2、直接按照js环境那样拼接:
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
