Maison > Article > interface Web > Résumé de la construction de vues et de l'utilisation du routage
Cette fois, je vais vous apporter un résumé de la construction et de l'utilisation de Vue. Quelles sont les précautions pour la construction et l'utilisation de Vue. Voici des cas pratiques, jetons un coup d'œil.
1. Trois méthodes de montage des composants
Montage automatique
var app3 = new Vue({ el: '#app-3', data: { seen: true } })
Montage manuel
// 可以实现延迟按需挂载 <p id="app"> {{name}} </p> <button onclick="test()">挂载</button> <script> var obj= {name: '张三'} var vm = new Vue({ data: obj }) function test() { vm.$mount("#app"); }
// Vue.extend()创建没有挂载的的子类,可以使用该子累创建多个实例 var app= Vue.extend({ template: '<p>{{message}}</p>', data: function () { return { message: 'message' } } }) new app().$mount('#app') // 创建 app实例,并挂载到一个元素上
2. La manière de routage des paramètres
<p> <!-- query要用path来引入,params要用name来引入,故不能写为 :to="{path:'/login',params: {isLogin: true}} --> <!-- 跳转路由时用this.$router: this.$router.push({name:"login",params:{isLogin:true}});this.$router.push({path: '/login', query: {isLogin : true}}); --> <!-- 接收参数时用this.$route: this.$route.query.isLogin 和 this.$route.params.isLogin; --> <router-link :to="{name:'login',params: {isLogin: true}}">亲,请登录</router-link> <router-link :to="{name:'login',params: {isLogin: false}}">免费注册</router-link> </p> <!-- 路由出口, 路由匹配到的组件将渲染在这里 --> <router-view></router-view>
3. Compréhension de render:h => h=>h(App) est la méthode d'écriture de la fonction flèche dans ES6, qui équivaut à render:function(h){return h(App);}.
1 Dans la fonction flèche, cela pointe vers. l'objet en dehors de la fonction qui l'enveloppe. 2.h est l'alias de creatElement, la gestion générale de l'écosystème vue 3.template :'new Vue({ el: '#app', // 相当于 new Vue({}).$mount('#app'); template: '<App/>', // 1、可以通过在 #app 内加入<app></app>替代 2、或者 通过 render: h => h(App) 渲染一个视图,然后提供给el挂载 components: { // vue2中可以通过 render: h => h(App) 渲染一个视图,然后提供给el挂载 App } });
Les opérations liées au DOM sont écrites dans le rappel de fonction pour garantir que le DOM a été rendu
L'origine de nextTick :
Parce que la mise à jour de la vue basée sur les données de VUE est asynchrone, c'est-à-dire que lorsque les données sont modifiées, la vue ne sera pas sera mis à jour immédiatement, mais attendra que toutes les modifications de données dans la même boucle d'événements soient terminées, puis mettra à jour la vue de manière uniforme.
Minutage de déclenchement de nextTick :
Après les modifications des données dans la même boucle d'événements, le DOM termine la mise à jour et le rappel dans nextTick(callback) est immédiatement exécuté.
Scénario d'application :
Besoin d'opérer en fonction de la nouvelle vue après la mise à jour de la vue.
L'opération DOM
effectuée dans la fonction hook créée() de Vuecycle de vie doit être placée dans la fonction de rappel de Vue.nextTick () milieu. Quelle en est la raison ? La raison est que le DOM n'est pas du tout rendu lorsque la fonction hook create() est exécutée, et les opérations DOM à ce moment sont vaines, donc le code js pour les opérations DOM doit être placé dans Vue. Dans la fonction de rappel de nextTick(). À cela correspond la fonction hook montée, car tous les montages et rendus DOM ont été terminés lorsque cette fonction hook est exécutée, il n'y aura aucun problème pour effectuer des opérations DOM dans cette fonction hook. Lorsqu'une opération doit être effectuée après les modifications des données et que cette opération nécessite l'utilisation d'une structure DOM qui change à mesure que les données changent, cette opération doit être placée dans la fonction de rappel de Vue.nextTick() .
Un bref résumé de la boucle d'événements :
Exécution de code synchrone-> Trouvez la file d'attente
asynchrone, poussez-la dans la pile d'exécution, et exécutez callback1[event loop 1 ] -> Recherchez dans la file d'attente asynchrone, placez-la dans la pile d'exécution et exécutez callback2 [event loop 2]... Autrement dit, chaque rappel asynchrone formera finalement sa propre boucle d'événements indépendante. En combinaison avec l'origine de nextTick, nous pouvons déduire le moment du déclenchement de nextTick dans chaque boucle d'événement : Lecture recommandée :vue-cli+webpack crée un rapport d'erreur de projet
Comment fonctionne le plug-in jquery fullpage l'en-tête et la queue
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!