美文网首页
2018-09-25

2018-09-25

作者: 轩呓 | 来源:发表于2018-09-25 19:25 被阅读0次

非父组件
<div class="box">
<first></first>
<second></second>
</div>

<script src="js/vue.js"></script>
<script>
    var sent = new Vue()//中间量

    Vue.component("first",{
        template:`
            <div>
                <h1>这是first组件</h1>
                <button @click='add'>传送数据</button>
            </div>
        `,
        data:function(){
            return{
                msg:'hello vue'
            }
        },
        methods:{
            add:function(){
                sent.$emit("sentMsg",this.msg) 
            }
        }
    })
    
    Vue.component("second",{
        template:`
            <div>
                <h1>这是second组件</h1>
                <p>{{mess}}</p>
            </div>
        `,
        data:function(){
            return{
                mess:''
            }
        },
         mounted:function(){//因为mounted是vue的生命周期,所以用箭头函数用this指向组件
            sent.$on("sentMsg",msg=>{
                this.mess = msg
            })
        }

    })
    
    new Vue({
        el:'.box'
    })
</script>

组件嵌套
<div id="app">
<router-link to='/home'>首页</router-link>
<router-link to='/user'>用户页</router-link>
<router-view></router-view>
</div>
<script src="js/vue.js"></script>
<script src="js/vue-router.js"></script>
<script>
var Home={
template:<h1>这是首页</h1>
}
var User={
template:<div> <h1>这是用户页</h1> <ul> <li> <router-link to='/user/regist'>注册</router-link> </li> <li> <router-link to='/user/login'>登录</router-link> </li> </ul> <router-view></router-view> </div>
}
var Regist={
template:<h3>这是注册页</h3>
}
var Login={
template:<h3>这是登录页</h3>
}
//3配置路由
const routes=[
{path:'/',component:Home},
{path:'/home',component:Home},
{
path:'/user',component:User,
children:[
{path:'regist',component:Regist},
{path:'login',component:Login}
]
}

]
  //4.创建一个路有实咧
   const router=new VueRouter({
       routes:routes
   })
   
   //5.
   new Vue({
       el:'#app',
       router:router
   })

    </script>

相关文章

网友评论

      本文标题:2018-09-25

      本文链接:https://www.haomeiwen.com/subject/fooloftx.html