答案在這里,通俗解釋,就是,
innerHTML 操作是及時(shí)的,但是頁面渲染是延后的,等js 代碼執(zhí)行完后,有空閑,頁面才渲染,所以會(huì)導(dǎo)致看起來innerHTML 后的代碼已經(jīng)被行了,但是頁面還沒有改變,,,實(shí)際上DOM已經(jīng)改變了,但是還沒有渲染到頁面上去
舉個(gè)例子
document.body.innerHTML = 'text';
alert(document.body.innerHTML);// you will see a 'text' alert
你會(huì)先收到彈窗,但是彈窗內(nèi)容驗(yàn)證了前面的代碼已經(jīng)執(zhí)行了,但是頁面上你會(huì)發(fā)現(xiàn),還沒有改變,就是這種情況。
你操作 innerHTML ,修改了DOM,但是后面的JS代碼會(huì)繼續(xù)執(zhí)行,等代碼執(zhí)行完了,進(jìn)程空閑,頁面才會(huì)渲染,你才會(huì)發(fā)現(xiàn) innerHTML 改變了,所以看起來有延遲。
解決方法:
操作 innerHTML 的代碼放在一個(gè)函數(shù)先執(zhí)行,其他的代碼放在另一個(gè)函數(shù)執(zhí)行自己整理了一下答案:
nodejs提供了vm模塊,相當(dāng)于一個(gè)沙盒模式。我試了運(yùn)行一段代碼,比如
var code = `console.log(require('fs'));`
//console.log(eval(code));
vm.runInContext(code, sandbox);
比如我擔(dān)心用戶會(huì)制造一段代碼,讀取服務(wù)器某些文件,但是測(cè)試發(fā)現(xiàn)會(huì)報(bào)錯(cuò):
因?yàn)樗麄兊纳澈兄懈揪蜎]有這個(gè)require函數(shù),就沒有辦法加載包,更不會(huì)加載一些危險(xiǎn)的包,如vm與fs。
所以不必?fù)?dān)心引入其他的包。
我測(cè)試讀取了我的一個(gè)全局變量。
比如
console.log(appConfig);
是讀取不到信息的。
目前來看,安全性還可以。
參考資料:
意思是讓你用管理員來運(yùn)行這個(gè)命令,用sudo npm run build試試
這個(gè)其實(shí)要看服務(wù)器設(shè)置和瀏覽器設(shè)置,如果設(shè)置是不緩存,則每次請(qǐng)求都還會(huì)去請(qǐng)求。
"時(shí)間${time}姓名${name}年齡${age}".match(/\${[^}]*}/g);不會(huì)做,就用現(xiàn)成的吧,比如 https://github.com/ariutta/sv...
應(yīng)該是哪個(gè)地方用錯(cuò)了,之前我也寫過。建議 直接 把每個(gè)tab的內(nèi)容分開成單獨(dú)的組件
可以使用web api來解決而不是去js api找答案
http://lbsyun.baidu.com/index...
使用逆向地理編碼。這樣就可以獲得附近地址了
ES6 允許字面量定義對(duì)象時(shí),用方法二(表達(dá)式)作為對(duì)象的屬性名,即把表達(dá)式放在方括號(hào)內(nèi)。
這是es6的寫法,轉(zhuǎn)換為es5時(shí)這樣的
var SOME_MUTATION = 'SOME_MUTATION'
var mutations = {}
mutations[SOME_MUTATION] = function (state) {
// mutate state
}
...
新建一個(gè)nginx配置文件gihtubpage.conf
server {
listen 80 default_server;
listen [::]:80 ipv6only=on default_server;
location /api/ {
proxy_pass https://h5.ele.me/;
}
}使用Promise進(jìn)行對(duì)APP.js內(nèi)的進(jìn)行l(wèi)ogin的方法進(jìn)行一次封裝后,在index.js內(nèi)調(diào)用app內(nèi)封裝的那個(gè)方法后拿到所需值然后對(duì)全局的那個(gè)globalData進(jìn)行賦值,如果還有不明白的 明天到公司 我給你上代碼。
ul 下所有 li 這種需求,一般是監(jiān)聽 ul 的事件,然后通過 event.target 之類的方式去獲取真正觸發(fā)事件的元素,這個(gè)涉及 DOM 的事件機(jī)制,你可以了解一下。window.onload 這種形式,我個(gè)人是這樣的:(function(window, document, undefined) {
...
})(window, document, undefined)
很多規(guī)范寫法都是要慢慢積累的,你也可以直接看各網(wǎng)站那些未被混淆的 js 文件來快速了解。
:class="i==index?'line':''"
后臺(tái)是form表單接收數(shù)據(jù)嗎,應(yīng)為你用get請(qǐng)求的時(shí)候是url傳輸,后臺(tái)接收到的數(shù)據(jù)格式是類似'id=1&from=home'這樣的格式,但是你用post傳輸?shù)脑挃?shù)據(jù)格式是鍵值對(duì):{ id: 1, from: "home" },后臺(tái)接收不到吧。
如果后臺(tái)數(shù)form表單接收的話,在axios攔截器里面使用'qs'模塊`import axios from 'axios';
import { getToken } from './auth'
// import 'url-search-params-polyfill'
import qs from 'qs'
axios.defaults.timeout = 5000
axios.defaults.baseURL = process.env.BASE_API
//http request 攔截器
axios.interceptors.request.use(
config => {
const token = getToken() // 注意使用的時(shí)候需要引入cookie方法,推薦js-cookie
// config.data = new URLSearchParams(config.data) // 把{ id: 1, from: "home" }格式的參數(shù)轉(zhuǎn)換成'id=1&from=home'格式的參數(shù)傳給后臺(tái),坑我好久,后臺(tái)一直接受不到參數(shù)就是這個(gè)原因
config.data = qs.stringify(config.data)
console.log('奇怪')
config.headers = {
'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8',
'client_type': '20',
'api_version': '1.0.0000',
'token': token || ''
}
return config;
},
error => {
return Promise.reject(err);
}
);`
刪掉項(xiàng)目中的package-lock.json,然后重新依次執(zhí)行
npm cache clean --forcenpm install express-generator -gnpm install express --savejsx語法中好像只支持三元運(yùn)算符,不支持If或者switch
看看最長匹配原則
JS:
import lineChart from '../lineChart'
export default {
name: 'demo',
components: {
'line-chart': lineChart
},
// ...
}
HTML:
<template>
<div>
<line-chart></line-chart>
</div>
</template>
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國一站式人才培養(yǎng)平臺(tái)、一站式人才輸送平臺(tái)。2014年4月3日在美國成功上市,融資1
北大課工場(chǎng)是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國家深化產(chǎn)教融合/校企合作的政策,積極推進(jìn)“中國制造2025”,實(shí)現(xiàn)中華民族偉大復(fù)興的升級(jí)產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動(dòng)互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項(xiàng)目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺(tái)面向?qū)ο箝_發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對(duì)瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。