vue实例的参数说明
vue实例中的参数与选项:
el:"#id", //DOM成员(1/3)
提供一个在页面上已存在的 DOM 元素作为 Vue 实例的挂载目标。
template:"<tag></tag>", //DOM成员(2/3)
一个字符串模板作为 Vue 实例的标识使用。模板将会 替换 挂载的元素。挂载元素的内容都将被忽略,除非模板的内容有分发 slot
render: (h)=>{h(App)}, //DOM成员(3/3)
字符串模板的代替方案,允许你发挥 JavaScript 最大的编程能力。
data //数据成员(1/6)
data():{ return{ } },
Vue实例的数据对象。Vue 将会递归将 data 的属性转换为 getter/setter,从而让 data 的属性能够响应数据变化
methods //数据成员(2/6)
methods:{ func(){ } }
methods将被混入到 Vue 实例中,可以直接通过 VM 实例访问这些方法,或者在指令表达式中使用
方法中的 this自动绑定为 Vue 实例
watch //数据成员(3/6)
watch:{ key:value $route:function (newValue, oldValue) { //监控路由 } }
整个为一个对象,键是需要观察的表达式,值是对应回调函数
computed //数据成员(4/6)
computed:{ getTotalCount(){ const totalCount=0; return totalCount; } },
vue的计算属性,将被混入到 Vue 实例中。所有 getter 和 setter 的 this 上下文自动地绑定为 Vue 实例
props //数据成员(5/6)
props:['counts','ids'],
用于父子组件的eventbus传值,是数组或对象,props的成员是子组件接收的来自父组件的数据
propsData //数据成员(6/6)
没用过。创建实例时传递 props。主要作用是方便测试
filters //资源(1/3)
filters('filterName',(input,function(){ return newvalue }))
包含 Vue 实例可用过滤器的哈希表。
directives //资源(2/3)
包含 Vue 实例可用指令的哈希表。
components //资源(3/3)
(即该组件的子实例)这里是包含 Vue 实例可用组件的哈希表。
name //杂项(1/6)
允许组件模板递归地调用自身。注意,组件在全局用 Vue.component() 注册时,全局 ID 自动作为组件的 name。
parent //杂项(2/6)
指定已创建的实例之父实例,在两者之间建立父子关系。子实例可以用 this.$parent 访问父实例,子实例被推入父实例的 $children 数组中。
mixins //杂项(3/6)
mixins 选项接受一个混合对象的数组。Mixin钩子按照传入顺序依次调用,并在调用组件自身的钩子之前被调用。
extends //杂项(4/6)
允许声明扩展另一个组件。这主要是为了便于扩展单文件组件。这和 mixins 类似,区别在于,组件自身的选项会比要扩展的源组件具有更高的优先级。
delimiters //杂项(5/6)
改变纯文本插入分隔符。
functional //杂项(6/6)
使组件无状态(没有 data )和无实例(没有 this 上下文)。他们用一个简单的 render 函数返回虚拟节点使他们更容易渲染。
生命周期钩子(10)
beforeCreate
//在实例初始化之后,数据观测(data observer) 和 event/watcher 事件配置之前被调用。
created
//实例已经创建完成之后被调用。在这一步,实例已完成以下的配置:数据观测(data observer),属性和方法的运算, watch/event 事件回调。然而,挂载阶段还没开始,$el 属性目前不可见
beforeMount
//在挂载开始之前被调用:相关的 render 函数首次被调用。
mounted
//el 被新创建的 vm.$el 替换,并挂载到实例上去之后调用该钩子。
beforeUpdate
//数据更新时调用,发生在虚拟 DOM 重新渲染和打补丁之前。你可以在这个钩子中进一步地更改状态,这不会触发附加的重渲染过程。
updated
//由于数据更改导致的虚拟 DOM 重新渲染和打补丁,在这之后会调用该钩子。当这个钩子被调用时,组件 DOM 已经更新,所以你现在可以执行依赖于 DOM 的操作
activated
//keep-alive 组件激活时调用。
deactivated
//keep-alive 组件停用时调用。
beforeDestroy
//实例销毁之前调用。在这一步,实例仍然完全可用。
destroyed
//Vue 实例销毁后调用。调用后,Vue 实例指示的所有东西都会解绑定,所有的事件监听器会被移除,所有的子实例也会被销毁。
main.js导入根组件,渲染根组件
导入根组件:
import Vue from 'vue';
import App from './App.vue';
import VueRouter from 'vue-router';
import ElementUI from 'element-ui';
import VueLazyload from 'vue-lazyload';
import VueMoment from 'vue-moment';
import Vuex from 'vuex';
import axios from 'axios';
//使用相对应的根组件
Vue.use(VueRouter); //Vue.prototype.$route Vue.prototype.$router
Vue.use(ElementUI);
Vue.use(VueLazyload, {
loading: require('./statics/site/images/01.gif') //懒加载的占位图
});
Vue.use(VueMoment);
Vue.use(Vuex); //Vue.prototype.$store
//axios设定
axios.defaults.baseURL = "http://39.108.135.214:8899/";
Vue.prototype.$axios = axios;
//全局导入项目需要用到的css
import 'element-ui/lib/theme-chalk/index.css'
import "./statics/site/css/style.css"
创建根实例:
new Vue({
el:"#app",
router,
store,
render:function(createElement){ //render函数,用来渲染根组件
return createElement(App)
}
})
2018.3.22