js
//調(diào)用子頁面方法
document.getElementById("子頁面id").contentWindow.childtest();
//控制子頁面元素
document.getElementById("子頁面id").contentWindow.document.getElementById("theme-src").href = href;
jq
$('#iframe').contents().find("#abc").val("aaa"); <span class="el-tag el-tag--warning" v-for="item in list_label" @click="nameToInput(item.name)">{{item.name}}</span>
nameToInput(val){
$(".label_input").val()=val;
}把v-if/v-else改成v-show。
https://jsfiddle.net/s5ar1un3...
我也才發(fā)現(xiàn)有這種坑,原理后面慢慢說。
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階段確定每個field的初始值。
創(chuàng)建階段
由于v-if/v-else,因此text所在組件創(chuàng)建沒有prop(這時候創(chuàng)建了3個item組件,class本身也沒寫prop情況會一樣),因此只有value所在item組件創(chuàng)建的時候觸發(fā)了form組件的el.form.addField事件。所以保存的fields長度為1,僅保存了value這個組件。
選中之后
由于數(shù)據(jù)變動,vue比較差異更新,然后更新了第2個組件(這是重點),然鵝this.initialValue是element-ui定義的值,還是原來value的值。
結(jié)果就是resetField的時候value.initialValue的值賦給了text。
所以resetField千萬別用v-if/v-show除非你確認(rèn)過上面的邏輯跟你的業(yè)務(wù)邏輯不沖突。測試版本element-ui@2.3.3
以上都是不看文檔的結(jié)果(花式打臉),vue提供了:key阻止組件復(fù)用。Vuejs
Vue 會盡可能高效地渲染元素,通常會復(fù)用已有元素而不是從頭開始渲染。這么做除了使 Vue 變得非??熘?,還有其它一些好處。例如,如果你允許用戶在不同的登錄方式之間切換這樣也不總是符合實際需求,所以 Vue 為你提供了一種方式來表達“這兩個元素是完全獨立的,不要復(fù)用它們”。只需添加一個具有唯一值的 key 屬性即可:
注意如validate組件不存在不驗證一樣,resetField也不reset。
0x9=>9(Number)=>"9"(String)
而8進制里沒有9,"9"不是8進制的一種正確表達,"9"在8進制里不存在
awati后面應(yīng)該跟Promise實例。async函數(shù)返回的是Promise實例。具體到樓主的例子,fun1、fun2前面的async是多余的,因為 fun1() => fun2() => fun3() 已經(jīng)返回了Promise實例。
可以改成下面的代碼。
function fun1() {
return fun2(); // 這里的 await 為什么可以省略?加上await結(jié)果也是一樣的
}
function fun2() {
return fun3(); // 這里的 await 為什么可以省略?加上await結(jié)果也是一樣的
}
function fun3() {
return new Promise(resolve => {
console.log('fun3');
resolve('fufff 3 ret');
});
}
async function testfun1() {
const ret = await fun1();
console.log(ret);
}
testfun1()
對比下面的例子,可能更直觀
function bar () {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve('bar');
}, 1000);
});
}
async function foo () {
let ret1 = bar();
let ret2 = await bar();
console.log(ret1); // Promise { 'bar' }
console.log(ret2); // bar
}
foo();好似寫的有點復(fù)雜。把倒計時時間,重置時間,計時器的偏差都加上了。
var s = 1000,
m = 60 * s,
h = 60 * m,
d = 24 * h,
tick_time = 1000,
timezone = new Date().getTimezoneOffset() * m;
var getDayTime = function(t) {
t = t.split(':');
return t[0] * h + t[1] * m;
}
var getNextClock = function(clockTime, resetTime, now) {
var result = now_d = parseInt(now / d, 10) * d + timezone;
now_d_t = now - now_d;
if (now_d_t > resetTime) {
result += d;
}
return result + clockTime;
};
var before = 0,
resetTime = getDayTime('00:00'),
clock24 = getDayTime('10:00');
var tickHandler = function() {
var now = Date.now();
if (now - before > tick_time) {
var nextClock = getNextClock(clock24, resetTime, now);
var diff = nextClock - now;
var floor = Math.floor;
var diif_readable = [
floor(diff / d),
floor((diff % d) / h),
floor((diff % h) / m),
floor((diff % m) / s)
];
console.log(diif_readable);
before = now;
}
};
var handler = setInterval(tickHandler, tick_time/10);
tickHandler();在vue全局安裝bootstrap中,使用的版本是bootstrap4最新版本,其中列偏移寫為offset-md-x 相比之前寫法有所變化,之前的寫法已不起任何作用
或者使用第三方狀態(tài)管理庫(redux, mobx...)
個人理解,接口的返回結(jié)果是會寫到業(yè)務(wù)系統(tǒng)中的,后期不應(yīng)該根據(jù)日志的返回結(jié)果進行大量的查詢。
mysql 5.7之后支持json類型,可以研究一下能否滿足你說的查詢統(tǒng)計的需求。
mongodb不太熟悉,但我記得建議同一個collection中的schema是一致的。如果建多個collection,和mysql建多張表就沒區(qū)別了。
需要 一切和 你服務(wù)器相關(guān)的代碼都需要重啟。除了靜態(tài)資源文件
這種問題。。。
let initData=[{
"field": "month_1",
"align": "center",
"name": "-月",
"width": 0,
"edit": "+r",
"exec": null,
"regExps": "{type:'number(2)',max:'999999999',min:0}",
"titleUserd": null,
"tig": null,
"children": null
},
{
"field": "month_2",
"align": "center",
"name": "二月",
"width": 0,
"edit": "+r",
"exec": null,
"regExps": "{type:'number(2)',max:'999999999',min:0}",
"titleUserd": null,
"tig": null,
"children": null
},]
let dataWithOutEdit=JSON.parse(initData).map((obj)=>{
let {field,align,name,width,exec,regExps,titleUserd,tig,children}=obj
return {field,align,name,width,exec,regExps,titleUserd,tig,children}
})
沒點擊編輯的時候:data=dataWithOutEdit點擊編輯的時候:data=initData;在大陸地區(qū)出現(xiàn)這種情況的,絕大部分是運營商或其代理商投放的 PUSH 廣告,由于你提供的信息太少,這里無法作出準(zhǔn)確判斷。
你可以掛上境外 VPN 測試一下,若沒有問題,則 99% 可判定是 PUSH 廣告。
網(wǎng)上有很多解決辦法,常用的如
你的SecondTitle跟table2個router-view是同級的,但是把table渲染在SecondTitle的children里面肯定出不來啊,除非SecondTitle渲染出來的組件里面也有個name=table的router-view
如果你一定要把他們當(dāng)成同級的,大概是這樣寫的,沒實測,體會一下代碼意思自己改
{
//首頁
path: '/layout',
name: 'layout',
// redirect: 'layout/TwoLevelHeadlines',
component: () => import('@/views/layout/AppMain'),
children: [
//部門設(shè)置
{
name: 'department',
path: 'BasicSettingsTitle/department',
components: {
SecondTitle: () => import('@/views/layout/SecondTitle/BasicSettingsTitle'),
table: () => import('@/views/supplier/basicSettings/department')
}
},
//用戶管理
{
name: 'userment',
path: 'BasicSettingsTitle/userment',
components: {
SecondTitle: () => import('@/views/layout/SecondTitle/BasicSettingsTitle'),
table: () => import('@/views/supplier/basicSettings/userment')
}
},
]
}undefined
jpress
http://JPress.io
當(dāng)然,可以在網(wǎng)易蜂巢找到docker鏡像,一鍵安裝
js是沒有權(quán)限的
根據(jù)你的需求,疑問一個問題,
無線大的數(shù)組為什么不直接用數(shù)據(jù)庫解決
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達內(nèi)教育集團成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機構(gòu),是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國家深化產(chǎn)教融合/校企合作的政策,積極推進“中國制造2025”,實現(xiàn)中華民族偉大復(fù)興的升級產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團項目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗,技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。