使用vue的时候经常会遇到一些问题,其实仔细阅读查阅官方文档,就会发现文档中已提到一些格外需要注意的点; 为了深入的理解官方文档中对这些问题的解释,查阅了一些资料,再加上自己的理解,整理了一些常见的问题

1、组件三种挂载方式
自动挂载
var app3 = new Vue({
el: '#app-3',
data: {
seen: true
}
})
手动挂载
// 可以实现延迟按需挂载
<div id="app"> {{name}} </div>
<button onclick="test()">挂载</button>
<script>
var obj= {name: '前端全栈开发交流圈:864305860'}
var vm = new Vue({
data: obj
})
function test() {
vm.$mount("#app");
}//欢迎加入前端全栈开发交流圈一起吹水聊天学习交流:864305860
// Vue.extend()创建没有挂载的的子类,可以使用该子累创建多个实例
var app= Vue.extend({
template: '<p>{{message}}</p>',
data: function () {
return {
message: 'message'
}
}
}) //欢迎加入前端全栈开发交流圈一起吹水聊天学习交流:864305860
new app().$mount('#app') // 创建 app实例,并挂载到一个元素上
2、路由传递参数的方式
<p>
<!-- query要用path来引入,params要用name来引入,故不能写为 :to="{path:'/login',params: {isLogin: true}} -->
<!-- 跳转路由时用this.$router: this.$router.push({name:"login",params:{isLogin:true}});this.$router.push({path: '/login', query: {isLogin : true}}); -->
<!-- 接收参数时用this.$route: this.$route.query.isLogin 和 this.$route.params.isLogin; -->
<router-link :to="{name:'login',params: {isLogin: true}}">亲,请登录</router-link>
<router-link :to="{name:'login',params: {isLogin: false}}">免费注册</router-link>
</p>
<!-- 路由出口, 路由匹配到的组件将渲染在这里 -->
<router-view></router-view>
3、对render:h => h(App)的理解 render:h=>h(App)是ES6中的箭头函数写法,等价于render:function(h){return h(App);}.
- 1.箭头函数中的this是 指向 包裹this所在函数外面的对象上。
- 2.h是creatElement的别名,vue生态系统的通用管理
- 3.template:‘',components:{App}配合使用与单独使用render:h=>h(App)会达到同样的效果 前者识别