Vue页面加载完成后如何自动加载自定义函数
目录
- 页面加载完成后自动加载自定义函数
- created
- mounted
- vue之自执行函数
页面加载完成后自动加载自定义函数
created
在模板渲染成html前调用,即通常初始化某些属性值,然后再渲染成视图。
methods: { indexs:function(){ this.$http.post('{:url("Index/fun")}') .then(function(res){ this.items=res.data; console.log(res.data); }) .catch(function(error){ console.log(error); }); } }, created(){ //自动加载indexs方法 this.indexs(); }
mounted
在模板渲染成html后调用,通常是初始化页面完成后,再对html的dom节点进行一些需要的操作。
methods: { indexs:function(){ this.$http.post('{:url("Index/fun")}') .then(function(res){ this.items=res.data; console.log(res.data); }) .catch(function(error){ console.log(error); }); } }, mounted(){ //自动加载indexs方法 this.indexs(); }
vue之自执行函数
总是纠结在写不写随笔之间,自我感觉很菜,但是对源码爱得深沉,就写给自己看吧。
我在网上看了很多人写的源码,按照依赖的方式一个一个找包,再找函数,我觉得太麻烦,复杂。所以直接看vue.js。
打开vue.js,是个自执行函数,也就是IIFE。
(function(global,factory){ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory : typeof define === 'function' && define.amd ? define(factory) : (global.Vue = factory()) })(this,function(){ 'use strict' })
自执行函数想必不用我多说了,让我们来分析下这种插件与框架的写法。
它的参数为global和factory,在js环境下也就是window和Vue的构造函数。
this在这里值window,如果经常看源码,就会发现很多插件会判断下
typeof window !== undefined ? window : this;
这种写法更偏向于在js的window全局环境中使用。
接着看对外输出factory,首先判断 module和exports存在的情况
typeof exports === 'object' && typeof module !== 'undefined'
也就是优先使用AMD(module.exports = factory),接着判断CMD是否存在
typeof define === 'function' && define.amd
若AMD不存在而CMD存在,则使用CMD(define(factory)),若AMD,CMD都不存在,就把Vue的构造函数挂载再全局对象上(global.Vue = factory());
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
赞 (0)