浅谈 vue实例 和 vue组件
vue实例:
import Vue from 'vue';
import app from './app';
import myRouter from './routers'; new Vue({
el: '#app', //渲染目标
router: myRouter, //前端路由,整个项目的路由都在这
template: '<App />', //渲染内容
components: { //内容内使用到的组件
App: app
},
data:{ //需要用到的数据,根实例一般不需要用
num1: 5,
num2: 8,
},
methods:{ //需要用到的方法,根实例一般不需要用
fn1(){
// .....
},
fn2(){
// .....
}
},
computed:{ //特殊的data,get和set之前都先经过自定义处理
b(){ //简写相当于只有get
return 'bbbbb'
},
c:{ //完整版
get(){
return 'ccc'
},
set(val){
this.a = val;
}
}
},
watch:{ //检测变量的变化
num1(n,o){
console.log(n,o);
}
}
})
Vue组件:
相当于上面import的app
export default {
template: `<div>{{a}}<span v-html="a"></span></div>`.
data(){
return{
a: '你好,<strong>张啊咩</strong>',
dataC: '',
dataD: ''
}
},
methods:{
fn1() {},
fn2() {},
},
computed:{
b(){
return 'bbbbb'
},
c:methods:{
fn1() {},
fn2() {},
}{
get(){
return this.dataC;
},
set(val){
this.dataC = parseInt(val)
}
},
d:{
get(){
return this.dataD;
},
set(val){
this.dataD = parseInt(val)
}
}
},
watch:{
d(newVal,oldVal){
console.log(newVal,oldVal);
}
},
props: ['inputData1','inputData2'],
mixins: [
{
methods:{
fn3() {}
}
},
{
data(){
return {
dataE: ''
}
},
methods:{
fn4() {}
}
}
],
extends: {
methods:{
fn5() {}
}
},
delimiters: ['<%=','%>'],
beforeRouteEnter:(to,from,next)=>{ //组件进入的路由钩子
console.log("准备进入");
next();
},
beforeRouteLeave: (to, from, next) => { //组件离开的路由钩子
console.log("准备离开");
next();
}
}
区别
其实vue实例和vue组件本质都是一个组件而已,大家的属性基本是一样的
但是vue实例会比vue组件多出el和router属性,而vue组件的data会被要求必须是函数,防止出现同种组件多实例共享同一个data的事情
vue实例的高逼格写法:
import App from 'app';
new Vue({
render: h =>h(App)
}).$mount('#app')
我们经常写出一些整个应用就只有一个组件。
所以为了方便,
原来的 template、components ------变成------> render: h=>h(App)
原来的 el ------变成------> .$mount('#app')
ps:mount是挂载的意思
值得注意的是里面的methods
我们千万不要把里面的方法写成箭头函数的形式
因为我们避免不了在这些方法里面写this,若写成箭头函数,this的指向就会变成未被编译成vue对象的这个配置obj
浅谈 vue实例 和 vue组件的更多相关文章
- Vue 浅谈前端js框架vue
Vue Vue近几年来特别的受关注,三年前的时候angularJS霸占前端JS框架市场很长时间,接着react框架横空出世,因为它有一个特性是虚拟DOM,从性能上碾轧angularJS,这个时候,vu ...
- 0807 创建vue实例以及vue的基础指令
lession1 1.Vue的了解 渐进式框架 作者:尤雨溪 mvvm 2.创建vue实例 引入<script src="vue.js"><scr ...
- flex布局浅谈和实例
阿基米德曾说给我一个支点我可以撬动地球,而拥有flex基本可以撬动所有的布局. 1.flex布局基本介绍及效果展示 工欲善其事必先利其器,来来来,一起看下基础知识先(呵~,老掉牙,但是有用啊). ** ...
- 大话大前端时代(一) —— Vue 与 iOS 的组件化
序 今年大前端的概念一而再再而三的被提及,那么大前端时代究竟是什么呢?大前端这个词最早是因为在阿里内部有很多前端开发人员既写前端又写 Java 的 Velocity 模板而得来,不过现在大前端的范围已 ...
- vue基础篇---vue组件《2》
定义全局组件 我们通过Vue的component方法来定义一个全局组件. <div id="app"> <!--使用定义好的全局组件--> <coun ...
- vue 自学笔记(七) 组件细节问题
前情提要: 这里盘点一下,组件细节的问题 现在我们观察一些用框架开发的网页BiliBili.掘金,会发现很多部分都十分相似或者一模一样,我们甚至可以将其拆分归类.而事实上,页面的确是被一个个组件构成的 ...
- vue基础篇---vue组件
vue模块第一篇,因为公司马上要用到这vue开发.早就想好好看看vue了.只有实际工作中用到才会进步最快.vue其他的简单指令就不多讲了,没啥意思,网上一大堆.看w3c就ok. 组件这个我个人感觉坑蛮 ...
- vue基础——vue实例
创建一个vue实例 每个vue应用都是通过Vue函数创建一个新的Vue实例开始的 var vm = new Vue({ //选项 }) 一个Vue应用由一个通过new Vue创建的根Vue实例,以及可 ...
- 关于Vue实例的生命周期(2)
关于Vue实例的生命周期(2) 创建(create)->挂载(mount)->更新(update)->销毁(destory) 钩子函数触发事件 beforeCreate 在实例初始 ...
随机推荐
- Beta发布文案+美工
团队名称:探路者 1蔺依铭:http://www.cnblogs.com/linym762/(组长) 2张恩聚:http://www.cnblogs.com/zej87/ 3米赫:http://www ...
- spring boot之创建web项目并访问jsp页面
1,创建spring boot的web项目 刚创建好的项目路径如下: 2,pom中要有下面的依赖 <dependency> <groupId>org.springframewo ...
- Javascript toString()、toLocaleString()、valueOf()三个方法的区别
Array.Boolean.Date.Number等对象都具有toString().toLocaleString().valueOf()三个方法,那这三个方法有什么区别??? 一.JS Array 例 ...
- 《Spring1之第十次站立会议》
<第十次站立会议> 昨天:试着把用C#写的代码转换为java语言. 今天:已基本转换为java语言了,也能够实现视频聊天这个功能了. 遇到的问题:在进行视频通话时没有考虑到声音优化功能,实 ...
- POJ 2441 Arrange the Bulls 状压dp
题目链接: http://poj.org/problem?id=2441 Arrange the Bulls Time Limit: 4000MSMemory Limit: 65536K 问题描述 F ...
- WCF 和 ASP.NET Web API
地址:https://docs.microsoft.com/zh-cn/dotnet/framework/wcf/wcf-and-aspnet-web-api WCF 是 Microsoft 为生成面 ...
- 集合由量大接口派生来:Collection 和 Map
Collection - 存放单个数据 |-List 实现类:ArrayList(Vector) LinkedList Vector的子类Stack |-Set 实现类:HashSet Tree ...
- js数组遍历 千万不要使用for...in...
昨天做个下拉框 扩充了一下数组的方法 Array.prototype.remove = function (val) { var index = this.indexOf(val); if (inde ...
- 第一个spring冲刺心得及感想
在这次spring中,学到了不少东西: 1.团队协作精神 2.任务细节化,任务燃尽图 3.身为sm的责任 但是在过程中也认识到了一些不足 1.对于团队协作完成一个大的项目还是不熟悉 2.个人能力的不足 ...
- beta 发布的相关评论
1. 礼物挑选小工具 飞天小女警 这个项目的创意独具匠心,贴近实际,令人耳目一新,网站的页面也是玫红色的,配色让人感到很温馨,对礼物的筛选方式很有趣,使用的记录特殊日子的方法来提醒自己挑选礼 ...