components组件传自定义参数
参考资料:
http://www.cnblogs.com/wisewrong/p/6266038.html
例:
参数名 pageTitle 页面标题
引用组件:
XML/HTML Code复制内容到剪贴板
- <template>
- <div class="main">
- <app-header :pageTitle="pageTitle"></app-header>
- <h1>{{ msg }}</h1>
- </div>
- </template>
- <script>
- import AppHeader from './common/Header.vue'
- export default {
- name: 'main',
- components: {
- AppHeader
- },
- data() {
- return {
- msg: '主体部分',
- pageTitle:"123456789"
- }
- }
- }
- </script>
说明:app-header使用公共的头部,绑定pageTitle参数,前面加 : 号绑定,在data里面,自定义一个参数,来给它赋值,可以使用同样的变量名
common/Header.vue:
XML/HTML Code复制内容到剪贴板
- <template>
- <div class="header">
- <mt-header :title="pageTitle">
- <a slot="left" v-if="returnBtn" @click="routerBack">
- <mt-button icon="back" >返回</mt-button>
- </a>
- <mt-button icon="more" slot="right"></mt-button>
- </mt-header>
- </div>
- </template>
- <script>
- export default {
- name: 'header',
- data() {
- return {
- returnBtn: false, /* 返回按钮是否显示 */
- }
- },
- props: [
- 'pageTitle'
- ],
- mounted () { // 这个是页面创建的时候,就执行相关的方法
- this.init()
- },
- methods: { // 这里放方法,方法之间用逗号隔开
- init () {
- this.pageTitle = this.pageTitle?this.pageTitle:"标题";
- if(this.$route.path != '/'){
- this.returnBtn = true;
- }
- },
- routerBack(){
- this.$router.go(-1);
- }
- }
- }
- </script>
说明:这里的title加冒号是因为这里原本的元素就是title所以在元素前面加冒号绑定pageTitle参数,同时,props接受传参,pageTitle在init方法中,作判断,如果没有传参给默认值