Vue实例

作者: 招投标秘籍 | 来源:发表于2021-10-16 21:49 被阅读0次

1.Vue实例如何创建

每个 Vue 应用都是通过用 Vue 函数创建一个新的 Vue 实例开始的:

var vm = new Vue({
  // 选项
})

2.Vue实例内存图

options是选项,图中有几个问号我们在接下来的文章中一一来介绍


image.png

3.Vue options中有哪些属性

数据:data、 props、 propsData、 computed、methods、 Watch
DOM: el、 template、 render、 renderError
生命周期钩子: beforeCreate、 created、beforeMount、 mounted、 beforeUpdate、 updated、activated、 deactivated、 beforeDestroy、 destroyed、errorCaptured
资源: directives、 filters、 components
组合: parent, mixins、 extends、 provide、 inject

3.1 options中的入门属性

目录:
1- el 挂载点
2 - data 内部数据
3 - methods 方法
4 - components
5 - 生命周期钩子
6 - prosp 外部属性(数据)

3.1.1el 挂载点

只在用new创建实例时生效

html
  <div id="app"></div>
js
new Vue({
    el:'#app'
})

这样Vue就挂载到了#app上
可以用$mount() 来代替

new Vue().$mount('#app')

3.1.2data 内部数据

支持对象和函数,优先使用函数

const vm =new Vue({
data(){
  return{
     n:0,
  }
},
template:`
<div class="red">
   {{n}}
   <button @click="add">+1</button>
   </div>
`,
methods:{
  add(){
    this.n+=1
  },
}
})
vm.$mount("#frank")  

3.1.3methods 方法

事件处理函数或者是普通函数。
还是拿上面代码举例,如果将代码写成下面的样子:

const vm =new Vue({
data(){
  return{
     n:0,
  }
},
template:`
<div class="red">
   {{n}}
   <button @click="add">+1</button>
   </div>
`,
})
vm.$mount("#frank")  

写成上面这种况的话一定会报错“add没有定义” ,我们只需要把add放到methods里面就可以了。

3.1.4components属性

组件有三种方式引用

引用的第一种方式
const Vue=window.Vue
Vue.config.productionTip=false
//引用文件
 import Demo from './Demo.vue' 
const vm =new Vue({
//给组件起名字,表示我需要用这个组件
  components:{
   Frank1:Demo //等同于{Demo}
},  
data(){
  return{
     n:0,
  }
},
template:`
<div class="red">
   {{n}}
   <button @click="add">+1</button>
   //直接用这个组件
<Frank1/>
   <hr>
   </div>
`,
methods:{
  add(){
    this.n+=1
  },
})
vm.$mount("#frank") 
引用的第二种方式
const Vue=window.Vue
Vue.config.productionTip=false
//直接生成组件
Vue.component('Demo2',{
  template:`
  <div>demo22</div>  `
})
const vm =new Vue({
data(){
  return{
     n:0,
  }
},
template:`
<div class="red">
   {{n}}
   <button @click="add">+1</button>
   <demo2/>
   </div>
`,
methods:{
  add(){
    this.n+=1
  },
})
vm.$mount("#frank")  
第三种方法
const Vue=window.Vue
Vue.config.productionTip=fals

const vm =new Vue({
//前面两种方法的结合
components:{
  Frank2:{
    data(){
      return {n:0}
    },
    template:`
    <div>Frank's n :{{n}}<div/>
    `
  }
},
data(){
  return{
     n:0,
  }
},
template:`
<div class="red">
   {{n}}
   <button @click="add">+1</button>
   <Frank2/>
   </div>
`,
methods:{
  add(){
    this.n+=1
  },
})
vm.$mount("#frank")  

3.1.5生命周期钩子

created - 实例出现在内存当中
mounted - 实例出现在页面当中
updated - 实例更新了
destroyed - 实例从页面和内存当中消亡

3.1.6prosp 外部属性(数据)

内部属性和外部属性的区别在于,外部的属性是由外部来来进行传值的,内部属性当然就是依靠内部自己传值的。

<template>
<div class="red">
 这里是Demo的内部
  {{message}}
</div>
</template>
<script>
export default{
//从外部传入一个message
  props:['message']
}
</script>
<style>
.red{
  color: red;
  border:1px solid red;
}
</style>
  <div>
  <Demo :message="n"/>
  </div>
  })
  vm.$mount("#frank") */
})

本文为本人的原创文章,著作权归本人和饥人谷所有,转载务必注明来源.

相关文章

  • 第3章 Vue 基础精讲

    3-1 Vue实例 vue实例是根实例,组件也是vue实例,所以说页面是由很多vue实例组成的data(): 以d...

  • vue基础知识

    new Vue() 创建 Vue 实例,其中 Vue.components() 也可以创建 Vue 实例。 Vue...

  • vue实例

    Vue实例化 1.创建一个Vue实例 通过Vue构造函数new 一个新的vue实例, 当你创建一个vue实例,你可...

  • Vue.js学习笔记(2)

    Vue 实例 创建一个 Vue 的实例 每个 Vue 应用都是通过 Vue 函数创建一个新的 Vue 实例开始的:...

  • Vue.js 数据绑定、指令、事件

    Vue 实例和数据绑定 通过构造函数 Vue 就可以创建一个 Vue 的根实例,并启动 Vue 应用。Vue 实例...

  • vue实例和数据绑定

    vue实例和数据绑定 vue实例和数据绑定 通过script便签引入vue 通过vue构造函数来创建一个vue实例...

  • Vue引入、指令、挂载点、模板、实例和绑定事件

    Vue实例 创建一个Vue实例,每个Vue应用都是通过 Vue 函数创建一个新的Vue实例 开始的:var vm ...

  • Vue实例与模板语法

    Vue实例 新建一个Vue实例 每个Vue应用都是通过Vue函数创建一个新的Vue实例开始的:let data =...

  • Vue学习的第二天

    创建一个Vue实例 每个Vue应用都是通过Vue函数创建一个新的Vue实例开始的,所有的Vue组件都是Vue实例,...

  • Vue入门系列(二)Vue实例和组件

    Vue实例是Vue应用的启动器,Vue组件是Vue实例的扩展。 1. Vue实例 通过构造函数可以创建一个Vue的...

网友评论

      本文标题:Vue实例

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