Cet article présente principalement le problème selon lequel les fonctions fléchées ne peuvent pas être utilisées dans les données de vue. Cet article vous le présente en détail grâce à l'analyse du code source et a une certaine valeur de référence. Les amis qui en ont besoin peuvent s'y référer
<.>Tout d'abord, il faut Clairement, est différent a() {}和 b: () => {}
let obj = { a() {}, // 相当于 a:function() {}, b: () => {} }
1 Analyse du code source VUE.js
Notez ici Ne concevez que le code de baseCe code est également le principe de mise en œuvre de l'UMD.Cet article n'est pas au centre. Ceux qui sont intéressés peuvent l'explorer par eux-mêmes.(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'; console.log(this) //*undefined* })))
Voici le principe d'implémentation des données dans vue
(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'; function getData(data,vm) { return data.call(vm, vm) } function initData(params) { data = vm._data = typeof data === 'function' ? getData(data, vm) : data || {}; } initData() })))
var obj = { a: () => { 'use strict'; console.log(this,'a') }, b() { console.log(this,'b') }, c() { // window let e = () => { console.log(this,'e') } return e } } obj.a() // window obj.b() // obj obj.c()() // obj
(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'; let vm = {} var data = () => { console.log(this);//undefined return { a: 1 } } function getData(data,vm) { return data.call(vm, vm) } function initData(params) { data = vm._data = typeof data === 'function' ? getData(data, vm) : data || {}; } initData() console.log(vm); })))
pour pointer vers l'instance Vm, elle sera donc mise à jour avec l'instance. data() {}this
À propos de la façon de changer le menu secondaire du framework Vue iview-admin en un menu de troisième niveau
À propos de Comment utiliser le composant carrousel vue.js
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!