babel最新版的更新為"presets": ["env"],照著這個(gè)來(lái)吧。
安裝依賴(lài)也比較方便。
npm install babel-preset-env --save-dev先不管其它問(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>疑似箭頭函數(shù)導(dǎo)致this指向丟失了,換用function試試
受到了邊城網(wǎng)友的啟發(fā),問(wèn)題已經(jīng)解決,下面來(lái)分析下原因:
首先我以為是緩存的問(wèn)題,但是ajax post提交是沒(méi)有緩存的,多說(shuō)一嘴,我這個(gè)網(wǎng)站是SSH架構(gòu)的,通過(guò)邊城網(wǎng)友的啟發(fā)我去瀏覽器抓了一下前端的數(shù)據(jù)包,發(fā)現(xiàn)數(shù)據(jù)是正常提交到后臺(tái)的,但是后臺(tái)的代碼返回的json卻是固定的,于是我去看了下spring的配置文件
很明顯,我先前并沒(méi)有設(shè)置scope屬性,導(dǎo)致spring只為后臺(tái)的baseDictaction創(chuàng)建了一個(gè)對(duì)象,盡管我提交上去的數(shù)據(jù)是三個(gè),但是如果只創(chuàng)建了一個(gè)對(duì)象的話(huà)相當(dāng)于我只訪問(wèn)了一次baseDictaction,于是把Scope屬性改成多例的,問(wèn)題解決
一套,響應(yīng)式一般適合展示類(lèi)頁(yè)面,復(fù)雜的業(yè)務(wù)移動(dòng)和pc需要獨(dú)立開(kāi)發(fā)。
把v-if/v-else改成v-show。
https://jsfiddle.net/s5ar1un3...
我也才發(fā)現(xiàn)有這種坑,原理后面慢慢說(shuō)。
form.vue
//created階段
created() {
this.$on('el.form.addField', (field) => {
if (field) {
this.fields.push(field);
}
}
this.$on('el.form.removeField', (field) => {
if (field.prop) {
this.fields.splice(this.fields.indexOf(field), 1);
}
});
}
//重置方法
resetFields() {
...
this.fields.forEach(field => {
field.resetField();
});
},
form-item.vue
//mounted階段
mounted() {
if (this.prop) {
this.dispatch('ElForm', 'el.form.addField', [this]);
...
let initialValue = this.fieldValue;
...
Object.defineProperty(this, 'initialValue', {
value: initialValue
});
...
}
}
//重置方法
resetField() {
this.validateDisabled = true;
if (Array.isArray(value)) {
prop.o[prop.k] = [].concat(this.initialValue);
} else {
prop.o[prop.k] = this.initialValue;
}
}
從源碼可以看出,在form-item的mounted階段確定每個(gè)field的初始值。
創(chuàng)建階段
由于v-if/v-else,因此text所在組件創(chuàng)建沒(méi)有prop(這時(shí)候創(chuàng)建了3個(gè)item組件,class本身也沒(méi)寫(xiě)prop情況會(huì)一樣),因此只有value所在item組件創(chuàng)建的時(shí)候觸發(fā)了form組件的el.form.addField事件。所以保存的fields長(zhǎng)度為1,僅保存了value這個(gè)組件。
選中之后
由于數(shù)據(jù)變動(dòng),vue比較差異更新,然后更新了第2個(gè)組件(這是重點(diǎn)),然鵝this.initialValue是element-ui定義的值,還是原來(lái)value的值。
結(jié)果就是resetField的時(shí)候value.initialValue的值賦給了text。
所以resetField千萬(wàn)別用v-if/v-show除非你確認(rèn)過(guò)上面的邏輯跟你的業(yè)務(wù)邏輯不沖突。測(cè)試版本element-ui@2.3.3
以上都是不看文檔的結(jié)果(花式打臉),vue提供了:key阻止組件復(fù)用。Vuejs
Vue 會(huì)盡可能高效地渲染元素,通常會(huì)復(fù)用已有元素而不是從頭開(kāi)始渲染。這么做除了使 Vue 變得非??熘?,還有其它一些好處。例如,如果你允許用戶(hù)在不同的登錄方式之間切換這樣也不總是符合實(shí)際需求,所以 Vue 為你提供了一種方式來(lái)表達(dá)“這兩個(gè)元素是完全獨(dú)立的,不要復(fù)用它們”。只需添加一個(gè)具有唯一值的 key 屬性即可:
注意如validate組件不存在不驗(yàn)證一樣,resetField也不reset。
兄弟解決了嗎?
v-model是不能綁定表達(dá)式的。
不知道你的具體需求是怎樣的。
用Promise.all改造了一些你試下res是個(gè)數(shù)組
let paramsName = ["new", "activity", "payed"]; // 參數(shù)名
function init(param) {
params.player_type = param;
return api.getPlayerStayDevice(params)
}
Promise.all(paramsName.map((item, index) => {
return init(item);
})).then(res=>{
console.log(res);//返回值數(shù)組
})
看錯(cuò)了以為你要遍歷返回值
你的代碼里有params和paramparams應(yīng)該是全局變量每次賦值都是覆蓋操作所以獲取的是最后一個(gè)值
如果你只是獲取"new", "activity", "payed"這些字符串可以用param
canvas開(kāi)發(fā)跟頁(yè)面開(kāi)發(fā)是不一樣的,你要把思維轉(zhuǎn)過(guò)來(lái)
頁(yè)面開(kāi)發(fā),就是擺盒子
canvas開(kāi)發(fā),就是畫(huà)畫(huà)
模板中的 span 不用寫(xiě) [(ngModel)] 了,直接寫(xiě) {{textContent.length}} 就可以了。
addServer('XXXXXX')里面瞎寫(xiě)字符串什么鬼?
在開(kāi)發(fā)傳統(tǒng)項(xiàng)目的時(shí)候 使用FIS3是個(gè)不錯(cuò)的選擇,api文檔相對(duì)比較友好,并且內(nèi)置的很多功能可以直接使用,
在對(duì)fis有一定了解之后 可以推薦去學(xué)習(xí)gulp這樣基于任務(wù)流思想的工具 ,這個(gè)工具就需要你自己去配置很多東西來(lái)達(dá)到開(kāi)發(fā)目的,可以加深工具的每一步是干了什么
最后如果你以后要去開(kāi)發(fā)spa這樣的webapp 可以再去接觸webpack也不晚
不能同時(shí)使用,觸發(fā)UI框架支持REM模式
tr寬度?td的寬度吧?
兩個(gè)配置項(xiàng):
$('#example').dataTable( {
"autoWidth": false,
"columns": [
{ "width": "20%" },
null,
null,
null,
null,
null
]
} );
參考API:autowidth、columns.width
這是一個(gè)react-native的腳手架工具,比官方的腳手架工具多了很多東西,可以快速創(chuàng)建react native的項(xiàng)目,同時(shí)包含了react-native的最佳實(shí)踐,能快速添加刪除插件
給你參考下我的,放到服務(wù)器上之后 網(wǎng)址就變?yōu)閤xx.com/#/jcWebsite
一般的做法是這樣:
<label>
<input type=checkbox>
<span></span>
</label>
樣式:
input {display: none}
input+span {未選中樣式}
input:checked+span {選中后的樣式}
手機(jī)打不出反引號(hào),見(jiàn)諒
一個(gè)小demo,flex布局的,每一塊獨(dú)立的,上下的數(shù)量和天數(shù)如果可能換行的,自己要加個(gè)不換行的約束下。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css">
*{padding:0;margin:auto;}
ul{display:flex;align-items:center;justify-content:space-between;list-style:none;}
li{width:33.33%;text-align:center;}
.bar{width:100%;height:1px;margin:10px auto;background-color:#ccc;position:relative;}
.bar .icon{height:14px;width:14px;display:inline-block;border-radius:50%;background-color:#ccc;position:absolute;left:50%;top:0;margin-top:-7px;margin-left:-7px;}
</style>
</head>
<body>
<div>
<ul>
<li>
<div class="num">+1</div>
<div class="bar">
<span class="icon"></span>
</div>
<div class="day">1天</div>
</li>
<li>
<div class="num">+1</div>
<div class="bar">
<span class="icon"></span>
</div>
<div class="day">1天</div>
</li>
<li>
<div class="num">+1</div>
<div class="bar">
<span class="icon"></span>
</div>
<div class="day">1天</div>
</li>
</ul>
</div>
</body>
</html>北大青鳥(niǎo)APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國(guó)IT技能型緊缺人才,是大數(shù)據(jù)專(zhuān)業(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)師。