国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

淺談vue在html中出現{{}}的原因及解決方式

瀏覽:4日期:2022-10-28 10:26:07

原因:

瀏覽器渲染機制,解析html結構 -> 加載外部腳本和樣式表文件 -> 解析并執行腳本代碼 -> 構造html dom模型 -> 加載圖片等外部文件 -> 頁面加載完畢。

初始化vue的js寫在頁面底部,也就是最后才執行js腳本。

所以頁面從頭到尾開始渲染時,渲染到標簽時,由于vue還未初始化,所以就會顯示類似這樣的代碼

<h2>{{courseName}}</h2>

當網速很慢的時候就看得比較清楚,可能會讓用戶誤以為bug之類的,快一點的話就是一閃而過,體驗不是很好

解決辦法:

1、網上說的很多都是用v-cloak,

<div v-cloak> {{context}}</div>[v-cloak]{ display: none;}

但是我用了下無效,可能哪里使用的不對?然后就干脆按自己的思路實現了

2、我現在實現解決的方式,給最外層div加個class=’hide’(.hide{display: none},注意這個樣式要寫在head里),然后在vue初始化完成后,移除這個類hide,大概代碼如下

<!DOCTYPE html><html lang='en'> <head> <meta charset='utf-8'> <meta http-equiv='X-UA-Compatible' content='IE=edge'> <meta name='viewport' content='width=device-width, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no, viewport-fit=cover'> <title>標題</title> <style> .hide{ display: none; } </style></head><body> <div class='hide'> <h2>{{courseName}}</h2> </div> <script> //初始化vue initVue() function initVue() { new Vue({ el: ’#app’, data: function () { return { datas:{ courseName:’’ } } }, mounted() { //移除隱藏樣式 document.querySelector(’#app’).classList.remove(’hide’) } }) } </script></body>

補充知識:原生js和vue之間的數據通訊--EventEmitter

有個小項目在原來原生的框架編寫,但是不想寫原生,就引入了vue

然后有個需求要和原生的js進行交互通訊,于是就可以用node.js EventEmitter

具體做法:

先引入文件<script src='http://m.cgvv.com.cn/js/eventEmitter.js'></script>,

初始化,

然后在vue里面發送emit,

在外面監聽on

var event = new EventEmitter();$(document).ready(function () { //監聽some_event事件 event.on(’some_event’, function (data) { });}) let vm = new Vue({ el: '#app', methods: { getList() { // 觸發事件 event.emit(’some_event’,’params’); }, }});

附上eventEmitter.js

class EventEmitter { constructor() { this.event = {}; this.maxListerners = 10; } // 監聽 on(type, listener) { if (this.event[type]) { if (this.event[type].length >= this.maxListerners) { console.error(’同一個監聽器最多被十個對象監聽,否則可能造成內存泄漏.n’); return; } if (!this.event[type].includes(listener)) {this.event[type].push(listener); } } else { this.event[type] = [listener]; } } //發送監聽 emit(type, ...rest) { if (this.event[type]) { this.event[type].map(fn => fn.apply(this, rest)); } } //移除監聽器 removeListener(type,func) { if (this.event[type]) { this.event[type] = this.event[type].filter(item => item !== func); if (this.event[type].length === 0) {delete this.event[type]; } } } //移除所有的監聽器 removeAllListener() { this.event = {}; }}

以上這篇淺談vue在html中出現{{}}的原因及解決方式就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Vue
相關文章:
主站蜘蛛池模板: 中文无线乱码二三四区 | 日韩激情无码免费毛片 | 欧美成人毛片 | 久久精品中文字幕有码日本 | 一级片免费在线 | 国产成人精品福利站 | www欧美com | 久久亚洲精品中文字幕亚瑟 | 日韩视频精品在线 | 精品综合久久久久久99 | 在线a毛片免费视频观看 | 免费一级毛片女人图片 | 91免费高清视频 | 亚洲视频免费在线观看 | 欧美高清在线视频在线99精品 | 精品三级内地国产在线观看 | 欧美一区二区三区在线观看 | 日本免费一级 | 一本色道久久爱88av | 99久久精彩视频 | 欧美极品大肚孕妇孕交 | 成年人免费观看的视频 | 草草影| 成人爱爱网站在线观看 | 国产成人精品三级91在线影院 | 国产一级免费 | 国产三级在线观看免费 | 国产精品中文字幕在线观看 | 欧美一级日本一级韩国一级 | 久久怡红院国产精品 | 日本理论片免费高清影视在线观看 | 国产盗摄视频 | 欧美成人三级视频 | 免看一级a一片成人123 | 国产成人综合久久精品亚洲 | 99国内视频 | 欧美一区二区亚洲 | 俄罗斯极品美女毛片免费播放 | 8050网午夜一级毛片免费不卡 | 午夜丝袜美腿福利视频在线看 | 国产精品久久久久久亚洲伦理 |