首先來(lái)說(shuō) 兩者的效果肯定是一樣的毋庸置疑
react本身設(shè)計(jì)的時(shí)候就認(rèn)為--組件的狀態(tài),是由組件的屬性來(lái)決定的
那么antd-design中這個(gè)modal也是一樣的。設(shè)計(jì)的時(shí)候就希望 這個(gè)組件是由某個(gè)外部給他的屬性來(lái)控制,所以自然就這么設(shè)計(jì)啦
Vue 基于 Object.defineProperty,通過(guò)把屬性替換成 getter/setter 來(lái)實(shí)現(xiàn)近乎無(wú)痛的狀態(tài)偵聽。這個(gè)過(guò)程在組件初始化時(shí)進(jìn)行,所有你定義的變量的屬性,都被替換了。
所以如果你在實(shí)例化完成后在賦值,就真的只是賦值,而不是調(diào)用 setter,所以就會(huì)失去響應(yīng)式。
解決方案是使用 Vue.set,或者賦值整個(gè)對(duì)象。
files是數(shù)組,要循環(huán)append
for(var i = 0;i < this.file.length;i++){
formData.append('file[]', this.file[i]);
}this.form{
name: "",
id: this.multipleSelection[0].id,
privilegeIds:idArr,
}
這樣不行嗎
單選 搜索
<Select showSearch />javascirpt 為什么 0.3-0.2,0.3-0.1結(jié)果不準(zhǔn)確,js還有哪些諸如此類的bug
這不是 bug ,去了解下“計(jì)算機(jī)原理”中的關(guān)于浮點(diǎn)數(shù)的基本概念。
彈的新頁(yè)面截圖呢?
子組件的事件名是logInShow
但是父組件的是@logInshow
大小寫有問(wèn)題,建議事件名全部小寫
自己寫了個(gè)div 定位在級(jí)聯(lián)選擇器的位置
在級(jí)聯(lián)選擇器的回調(diào)里 清空它的selectedOptions 給為tag在data里定義的name里push進(jìn)去 子集value
實(shí)現(xiàn)類似效果
開發(fā)和部署分開搞啊,或者大家都用 apache 用戶。用版本控制。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link rel="stylesheet" type="text/css" href="css/new_file.css"/>
<script type="text/javascript">
var json = [{
id: 1,
name: '蔬菜',
child: [{
id: '1',
name: '白菜'
}, {
id: '2',
name: '蘿卜'
}, {
id: '3',
name: '菠菜'
}]
}, {
id: 2,
name: '肉類',
child: [{
id: '1',
name: '豬肉'
}, {
id: '2',
name: '羊肉'
}, {
id: '3',
name: '牛肉'
}]
}, {
id: 3,
name: '蛋類',
child: [{
id: '1',
name: '雞蛋'
}, {
id: '2',
name: '鵝蛋'
}, {
id: '3',
name: '鴨蛋'
}]
}];
window.onload=function(){
for(var i = 0;i<json.length;i++){
var obj = json[i];
var objId =obj.id;
var objname=obj.name;
var optEle = document.createElement("option");
optEle.innerText =objname;
optEle.value=objId;
document.getElementById("sel1").appendChild(optEle)
}
document.getElementById("sel1").onchange=function(){
for(var i=0;i<json.length;i++){
if(this.value == "default"){
var secondSelectEle = document.getElementById("second_select");
if(secondSelectEle!=null){
document.getElementById("container").removeChild(secondSelectEle);
}
}
if(json[i].id==this.value){
var childArr = json[i].child;
var secondSle =document.createElement("select");
secondSle.id = "second_select";
for(var k =0; k<childArr.length;k++){
var chilId=childArr[k].id;
var chilName=childArr[k].name;
var chilOptEle = document.createElement("option");
chilOptEle.innerText=chilName;
chilOptEle.value=chilId;
secondSle.appendChild(chilOptEle);
}
var secondSelectEle=document.getElementById("second_select");
if(secondSelectEle!=null){
document.getElementById("container").removeChild(secondSelectEle);
}
document.getElementById("container").append(secondSle);
break;
}
}
}
}
</script>
</head>
<body>
<div id="container">
<span>類別:</span>
<select name="select1" id="sel1">
<option value="default" id="selection1" selected="selected">----請(qǐng)選擇-----</option>
</select>
</div>
</body>
</html>
已經(jīng)解決了。
antd是pc端的框架
移動(dòng)端難免會(huì)有一些兼容性問(wèn)題
而且整體體積很大,移動(dòng)端還是比較在意代碼體積和渲染性能的
所以不適合移動(dòng)端用
我建議你自己嘗試寫需要的組件
雖然不建議直接在子組件直接修改父組件的數(shù)據(jù),但是你這個(gè)需求實(shí)現(xiàn)起來(lái)還挺簡(jiǎn)單的
1.
<li v-for="(item,index) in arr" @click=change(age[index])>{{item.name}}{{age[index]}}</li>
改成
<li v-for="(item,index) in arr" @click=change(index)>{{item.name}}{{age[index]}}</li>
2.
change(num){
return num++; //這樣不行
}
改成
change(index) {
this.age.splice(index, 1, this.age[index] + 1)
}
s[i]在這個(gè)地方是原生dom對(duì)象,不是jquery對(duì)象,可以按照樓上說(shuō)的做法,也可以使用將原生dom對(duì)象轉(zhuǎn)化為jquery的方式$(s[i]).css("display","none")
webpack.base.conf.js里面添加alias別名支持了么?
'components':resolve('src/components')
如下:
resolve: {
extensions: ['.js', '.vue', '.json'],
alias: {
'vue$': 'vue/dist/vue.esm.js',
'@': resolve('src'),
'components':resolve('src/components')
}
},
然后重啟服務(wù) npm run dev
類型/子類型,例如:application/pdf 表示的就是 application下面的pdf
通過(guò)上面3個(gè)知識(shí)點(diǎn),再來(lái)回答你的疑惑:
/ 前面表示的是類型主要有下面這些:
application audio image message text video x-world不過(guò)需要注意的,在`script`標(biāo)簽中,type只支持 `JavaScript MIME type`,也就是說(shuō)這個(gè)時(shí)候支持的類型只有 `text`和`application`
/本身并沒(méi)有太多的含義,只是被用來(lái)區(qū)隔類型和子類型擴(kuò)展:script中的type除了可以設(shè)置為JavaScript MIME type外,還可以設(shè)置其他2種:
module表示的是當(dāng)前是一個(gè)模塊腳本,通過(guò)javascript Module進(jìn)行解析,這個(gè)目前應(yīng)用的不多JavaScript MIME type的MIME type,都是表示當(dāng)前是個(gè)數(shù)據(jù)塊,不會(huì)被瀏覽器解析展示給用戶,這個(gè)在很多模版引擎中有使用到給個(gè)思路吧。
首先,倒計(jì)時(shí)開始,記錄你結(jié)束時(shí)間的 unix時(shí)間戳。
定時(shí)器里計(jì)算,當(dāng)前時(shí)間的 unix時(shí)間戳 和 結(jié)束時(shí)間的 unix時(shí)間戳 之差。
當(dāng)前時(shí)間<結(jié)束時(shí)間,那么差值轉(zhuǎn)換一下就是倒計(jì)時(shí)時(shí)間。
當(dāng)前時(shí)間>結(jié)束時(shí)間,倒計(jì)時(shí)直接清零,清除定時(shí)器。
北大青鳥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)開發(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庫(kù),具有快速界面開發(fā)的能力,對(duì)瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁(yè)制作和網(wǎng)頁(yè)游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(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)師。