js中字面量的形式創(chuàng)建對(duì)象更為常見(jiàn),看上去更加清晰,并且性能更好,但是相對(duì)而言,其一般適用于較簡(jiǎn)單場(chǎng)景,因?yàn)椴荒軡M足多種復(fù)雜情況下的變化需求。
構(gòu)造函數(shù)可以接受不同的參數(shù)以創(chuàng)建相同原型不同屬性的對(duì)象,可以將相似類型的生成代碼合并起來(lái),但是這個(gè)也是有好有壞,隨著應(yīng)用場(chǎng)景的變化可能反而極大的增加了理解難度和代碼管理難度。
content-encoding:gzip
壓縮代碼,在傳輸?shù)臅r(shí)候用gzip壓縮,提高資源訪問(wèn)速度。后端以nginx為例的話,在nginx.conf需要開(kāi)啟gizp服務(wù):
gzip on; //開(kāi)啟gzip壓縮功能
這樣你就可以在network查看到content-encoding:gzip這個(gè)選項(xiàng)
HTTP/1.1 200 OK
Server: nginx/1.0.15
Date: Sun, 26 Aug 2012 18:13:09 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
X-Powered-By: PHP/5.2.17p1
X-Pingback: http://www.slyar.com/blog/xmlrpc.php
Content-Encoding: gzip
最后問(wèn)了同事解決了,目前感覺(jué)是uc瀏覽器在我頁(yè)面回到頂部的時(shí)候reflow有問(wèn)題,然后我在點(diǎn)擊圖片的時(shí)候加了段代碼,設(shè)置body的tranfrom translateZ(0),這樣目前正常了,具體原因還是要早深入探究下
初始化isActive變量為false,點(diǎn)擊時(shí)候切換,自動(dòng)切換div類名active是否擁有
<div v-bind:class="{ active: isActive }" @click="!isActive"></div>估計(jì)是 冒泡了,建議使用 mouseenter,mouseleave 替代
&&運(yùn)算出來(lái)的結(jié)果不一定是Boolean,比如 1 && 2 返回 2
首先我要說(shuō)下target和currentTarget的區(qū)別。
e.target是返回觸發(fā)事件的對(duì)象 e.currentTarget返回的是綁定事件的對(duì)象。
認(rèn)真看這段話:
通常情況下target和currentTarget是一致的,我們只要使用target即可,但有一種情況必須區(qū)分這兩者的關(guān)系,那就是在父子嵌套的關(guān)系中,父元素綁定了事件,單擊了子元素(根據(jù)事件流,在不阻止事件流的前提下他會(huì)傳遞至父元素,導(dǎo)致父元素的事件處理函數(shù)執(zhí)行),這時(shí)候currentTarget指向的是父元素,因?yàn)樗墙壎ㄊ录膶?duì)象,而target指向了子元素,因?yàn)樗怯|發(fā)事件的那個(gè)具體對(duì)象 。
在你的第一種情況中,可能觸發(fā)這個(gè)事件的并非是這個(gè)子元素。所以也就沒(méi)有返回你想要的那個(gè)target。
而在你的第二種情況中,可能恰巧觸發(fā)這個(gè)事件的就是含有data-name的這個(gè)text標(biāo)簽,所以也就返回了你想看到的那個(gè)target
很明顯是開(kāi)了翻墻的代理,1080端口
使用 http://ping.pe/ 測(cè)試是否被墻.
花8刀重新購(gòu)買一個(gè)ip,或者靜靜等待解封
好像可以 ,是我搞錯(cuò)了
GitHub上搜索share.js
document.querySelector("#id").style.float = "right"
這樣設(shè)置沒(méi)有問(wèn)題啊
朋友,這個(gè)問(wèn)題解決了嗎?我也遇到同樣的問(wèn)題了
https://cn.vuejs.org/v2/guide... 文檔里面有重點(diǎn)指出的
$refs 只在組件渲染完成后才填充,并且它是非響應(yīng)式的。它僅僅是一個(gè)直接操作子組件的應(yīng)急方案——應(yīng)當(dāng)避免在模板或計(jì)算屬性中使用 $refs。
做了一個(gè)LC的測(cè)試來(lái)驗(yàn)證一下
beforeCreate: function(){
console.log("beforeCreate");
console.log(this.$refs.name.value.length);
},
created: function(){
console.log("created");
console.log(this.$refs.name.value.length);
},
beforeMount: function(){
console.log("beforeMount");
console.log(this.$refs.name.value.length);
},
mounted: function(){
console.log("mounted");
console.log(this.$refs.name.value.length); //只有到了這里才有
},
beforeUpdate: function(){
console.log("beforeUpdate");
console.log(this.$refs.name.value.length);
},
updated: function(){
console.log("updated");
console.log(this.$refs.name.value.length);
}, can2 = JSON.stringify(can2);
can3 = JSON.stringify(can3);
can4 = JSON.stringify(can4);
layout_str = can2.substring(0, can2.length - 1) + ',' + can3.substring(1, can3.length - 1)+','+ can4.substring(1, can4.length);
得到了想要的結(jié)果
[{"type":2,"enabled":1,"channel_list":[{"channel_id":"","template":"15"},{"channel_id":"","template":"17"},{"channel_id":"","template":"14"},{"channel_id":"","template":"16"},{"channel_id":"","template":"14"}]},{"type":2,"enabled":1,"channel_list":[{"channel_id":"","template":"15"},{"channel_id":"","template":"17"},{"channel_id":"","template":"14"},{"channel_id":"","template":"16"},{"channel_id":"","template":"14"}]},{"type":3,"enabled":1,"channel_list":[{"channel_id":"1091991"},{"channel_id":"1091993"}]}]
但是剛開(kāi)始
can2 = JSON.stringify(can2);
can3 = JSON.stringify(can3);
can4 = JSON.stringify(can4);
console.log(can2+','+ can3+','+ can4);
結(jié)果
[{"type":2,"enabled":1,"channel_list":[{"channel_id":"","template":"15"},{"channel_id":"","template":"17"},{"channel_id":"","template":"14"},{"channel_id":"","template":"16"},{"channel_id":"","template":"14"}]}],[{"type":2,"enabled":1,"channel_list":[{"channel_id":"","template":"15"},{"channel_id":"","template":"17"},{"channel_id":"","template":"14"},{"channel_id":"","template":"16"},{"channel_id":"","template":"14"}]}],[{"type":3,"enabled":1,"channel_list":[{"channel_id":"1091991"},{"channel_id":"1091993"}]}]
沒(méi)想到好辦法,然后就用截取字符串的辦法了我在VUE上沒(méi)有做過(guò)table組件,但在Angular上做過(guò).不過(guò)我想道理和邏輯是想通的.
我在做隱藏列和顯示列這種操作時(shí),為了保證效率,我采用的方式是動(dòng)態(tài)生成style樣式表,樣式表會(huì)包括沒(méi)一列的樣式.這樣在每次改變的時(shí)候只會(huì)修改對(duì)應(yīng)列的樣式,然后由瀏覽器統(tǒng)一渲染.不需要做什么JS對(duì)頁(yè)面DOM的操作.
希望能對(duì)你有幫助.
先不管其它問(wèn)題,先這樣修改一下代碼:
方法1<div class="centre">上面的那個(gè)script標(biāo)簽整個(gè)挪到下面去
方法2script標(biāo)簽內(nèi)的所有內(nèi)容用如下包裹起來(lái):
$(function() {
//這里放那個(gè)script標(biāo)簽的內(nèi)容
});
直接復(fù)制我這個(gè)替換你那個(gè):
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>管理員增加選擇題</title>
<!-- <link rel="stylesheet" href="/css/add/add_choice.css">
<link rel="stylesheet" href="/css/add/add.css"> -->
<script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<!-- <script src="/js/add/add_choice.js"></script> -->
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<link rel="stylesheet" >
<script src="http://cdn.static.runoob.com/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://cdn.static.runoob.com/libs/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>
<div class="centre">
<!--導(dǎo)航欄-->
<div class="menu">
<div class="admin-picture"></div>
<div class="indexBtn"></div>
<div class="searchBtn"></div>
<div class="addBtn"></div>
</div>
<div class="show-box">
<div class="choice"></div>
<div class="tiankong" onclick="addtiankong()"></div>
<div class="code" onclick="addcode()"></div>
<div class="jianda" onclick="addjianda()"></div>
<div class="program" onclick="addprogram()"></div>
<!--選擇題特有-->
<div class="choice-line"></div>
<div class="addchoice-box">
<form id="addchoice">
<div class="title"></div>
<span class="problem">題目</span>
<textarea class="problem-box" name="content" data-ng-model="formData" required></textarea>
<span class="A">選項(xiàng)A</span>
<textarea class="A-box" name="sectionA" data-ng-model="formData" required></textarea>
<span class="B">選項(xiàng)B</span>
<textarea class="B-box" name="sectionB" data-ng-model="formData" required></textarea>
<span class="C">選項(xiàng)C</span>
<textarea class="C-box" name="sectionC" data-ng-model="formData" required></textarea>
<span class="D">選項(xiàng)D</span>
<textarea class="D-box" name="sectionD" data-ng-model="formData" required></textarea>
<span class="answer">答案</span>
<input name="answer" type="checkbox" class="A-Btn" value="A">
<span class="a">A</span>
<input name="answer" type="checkbox" class="B-Btn" value="B">
<span class="b">B</span>
<input name="answer" type="checkbox" class="C-Btn" value="C">
<span class="c">C</span>
<input name="answer" type="checkbox" class="D-Btn" value="D">
<span class="d">D</span>
<span class="num">空數(shù)</span>
<input class="num-box" name="pronum" type="textarea">
<span class="analysis">解析</span>
<textarea class="analysis-box" data-ng-model="formData" required></textarea>
<span class="knowledge">知識(shí)點(diǎn)標(biāo)簽</span>
<textarea class="knowledge-box" data-ng-model="formData" required></textarea>
<span class="chapter">章節(jié)</span>
<textarea class="chapter-box" data-ng-model="formData" required></textarea>
<span class="course">課程</span>
<textarea class="course-box" name="analysis" data-ng-model="formData" required></textarea>
<button class="btn btn-primary submit" type="submit" id="btn">提交</button>
</form>
</div>
<!--底部-->
<div class="footer">
<span class="wzsy">網(wǎng)站首頁(yè)</span>
<span class="qyhz">企業(yè)合作</span>
<span class="lxwm">聯(lián)系我們</span>
<span class="yjfk">意見(jiàn)反饋</span>
<span class="yqlj">友情鏈接</span>
<span class="bqsy">版權(quán)所有@中北大學(xué)軟件學(xué)院</span>
<span class="dz">地址:山西省太原市學(xué)院路3號(hào)</span>
<span class="yzbm">郵政編碼:030051</span>
</div>
</div>
</div>
<div class="header">
<div class="title-picture"></div>
<div class="admin-picture"></div>
<div class="admin"></div>
<div class="sanjiao"></div>
<div class="exit"></div>
</div>
<script>
$(function() {
$("#btn").on("click", function(e) {
e.preventDefault();
Cmd();
})
function Cmd() {
let ipt = document.getElementById("addchoice").getElementsByTagName("textarea");
for (var i = 0; i < 5; i++) {
if (ipt[i].value.length === 0) {
alert("題目、選項(xiàng)為必填");
ipt[i].focus();
return false;
}
}
let c = document.getElementById("addchoice").getElementsByClassName("num-box");
if (c[0].value.length === 0) {
alert("問(wèn)題數(shù)必填");
c[0].focus();
return false;
}
submit();
}
function submit() {
let analysis = $(".analysis-box").val();
let chapter = $(".chapter-box").val();
let content = $(".problem-box").val();
let course = $(".course-box").val();
let pronum = $(".num-box").val();
let sectionA = $(".A-box").val();
let sectionB = $(".B-box").val();
let sectionC = $(".C-box").val();
let sectionD = $(".D-box").val();
let tips = $(".knowledge-box").val();
this.axios.post('http://localhost:8080/choiceProblem/add', {
analysis: analysis,
// answer: answer,
chapter: chapter,
content: content,
course: course,
pronum: pronum,
sectionA: sectionA,
sectionB: sectionB,
sectionC: sectionC,
sectionD: sectionD,
tips: tips
}, {
emulateJSON: true
})
.then(res => {
alert("成");
console.log(res);
})
.catch(err => {
alert("不成");
console.log(err);
})
}
});
</script>
</body>
</html>這個(gè)是瀏覽器的內(nèi)核問(wèn)題,quagga.js支持谷歌和safaia11,qq瀏覽器的內(nèi)核不支持,瀏覽器里調(diào)攝像頭進(jìn)行掃碼可以實(shí)現(xiàn)但是不能用于生產(chǎn),因?yàn)椴荒芫劢沟鹊仍?,想做這個(gè)的建議直接用ionic,我做了個(gè)掃碼demo還可以,跟原生的區(qū)別不大
你創(chuàng)建一個(gè)圖片元素,把響應(yīng)回來(lái)的數(shù)據(jù)賦值給src屬性
你這個(gè)app被export出去后被干了啥?你代碼貼完整
北大青鳥(niǎo)APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國(guó)IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國(guó)家
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國(guó)一站式人才培養(yǎng)平臺(tái)、一站式人才輸送平臺(tái)。2014年4月3日在美國(guó)成功上市,融資1
北大課工場(chǎng)是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國(guó)家深化產(chǎn)教融合/校企合作的政策,積極推進(jìn)“中國(guó)制造2025”,實(shí)現(xiàn)中華民族偉大復(fù)興的升級(jí)產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國(guó)職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開(kāi)發(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ū)ο箝_(kāi)發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫(kù),具有快速界面開(kāi)發(fā)的能力,對(duì)瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁(yè)制作和網(wǎng)頁(yè)游戲開(kāi)發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開(kāi)發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國(guó)Software AG 技術(shù)顧問(wèn),美國(guó)Dachieve 系統(tǒng)架構(gòu)師,美國(guó)AngelEngineers Inc. 系統(tǒng)架構(gòu)師。