因為slot-scope僅暴露出來一個scope對象,并不以你的命名轉(zhuǎn)移
也許是因為只有一個屬性讓你看起來有點繞,看下面這個例子也許能讓你更容易理解一些
<slot :news='news' :index="index"></slot>
<template slot-scope="scope">
{{ scope.news }}
{{ scope.index }}
</template>
你如果想讓代碼更直觀一點,可以直接結(jié)構(gòu)slot-scope
<template slot-scope="{ news }">
{{ news }}
</template>vue說他們?yōu)榱私档统叽鐪p少重復,并沒有提供ajax的相關內(nèi)容.你可以使用自己熟悉的ajax庫或者直接用原生的form去提交表單.
參考一下vuejs的官方示例(axios)
https://cn.vuejs.org/v2/guide... 偵聽器一節(jié)
boostrap比較流行吧
await對回調(diào)函數(shù)是沒有用的??梢詷?gòu)造一個Promise。
`await new Promise((resolve,reject)=>{
form.parse(ctx,req,function(err,fields,files){
//parse過程
//如果成功就resolve,失敗就reject
})
});
`async-await的作用是讓回調(diào)函數(shù)寫成同步的形式,也就是說它可以看做一堆的callback不過是寫法比較好看。
其實并沒有,但是勝在方便。
你可以看一看 Vue.js 的更新數(shù)據(jù) Diff 算法就可以發(fā)現(xiàn),Virtual DOM render + diff 顯然比渲染 html 字符串要慢的,雖然 Diff 算法復雜度為 O(n) ,可以得到最小操作結(jié)果,但是當 DOM 樹很大的時候,遍歷兩棵樹的性能損耗還是很大的??梢越Y(jié)合下圖看看 Vue 的 Diff 算法:
(圖片來自于網(wǎng)絡)
其實在得到最小化的 DOM 操作結(jié)果 DOM 之前,Vue 是需要進行 Diff 算法的,而手動 DOM 操作都是盡可能一一對應的也就是最小化 DOM 操作。
最后引入尤雨溪大大的一句話:
在我看來 Virtual DOM 真正的價值從來都不是性能,而是它 1) 為函數(shù)式的 UI 編程方式打開了大門;2) 可以渲染到 DOM 以外的 backend,比如 ReactNative。
繪圖的記錄是可以的 可以通localstroage進行存儲,所有的記錄值存到本地下次進入后再取,但是大多時候是進行服務端存儲的。
你用off試試,看文檔unbind是和bind對應的,off是和on對應的,而且unbind好像是已經(jīng)被廢棄了。
看看第一張圖,resolve(phone), 哪里來的 phone 變量?所以就 undefined 嘍
把 resolve(phone) 放到 let phone = getPhone.phoneNumber 后面才對啊,這才是正確的 resolve 這個 promise 時機
======= 更新 ====
getSessionKey 返回的是 Promise , phone = getSessionKey() 這樣寫是不對的,要么 .then 要么用 async/await :
phone = await getSessionKey() let index 前面加上global
使用MongoDB的第一件事情就是忘掉關系模型,充分利用反范式、冗余來達成最高的讀寫效率。你已經(jīng)發(fā)現(xiàn)了現(xiàn)在的數(shù)據(jù)模型不好用,為什么不換個思路來解決問題?
決定數(shù)據(jù)模型的是你需要怎么使用這些數(shù)據(jù)。在不知道你打算怎么用這些數(shù)據(jù)的前提下,以下是一些按照常理的推測。
現(xiàn)在涉及的實體有3個:
其中:
對于1:n的情況,最常見的做法是把1冗余到n。比如學生可以是:
{
_id:ObjectId(123456789...),
name:'zhangsan',
age:20,
class: {
classId: ObjectId(123456789...),
number:10,
// 其他常用字段
}
}
當然你也可以不要class的詳細信息,畢竟一個班的學生只用查一次班級信息。
{
_id:ObjectId(123456789...),
name:'zhangsan',
age:20,
classId: ObjectId(123456789...)
}
用的時候是不是會方便一些?
沒錯,冗余有可能會造成數(shù)據(jù)不一致,但是你真的會這么在乎一致性嗎?通常的回答是不會。
比如如果班級信息如果要修改怎么辦?那就會造成每個學生的班級信息都更新一遍,修改時壓力會比較大操作比較復雜。但是別忘了你的系統(tǒng)大部分壓力是來自讀而不是寫。班級修改的概率有多大?可能幾個月不見得有一次。但是讀班級的概率有多大?可能每天就有好多次。比較一下孰輕孰重不言而喻。
綜上,使用MongoDB時不要用范式來約束自己,從性能,易用性來考慮就可以了。
<li v-for="ia in imgArray" :key="ia.id" :id="ia.id">
<x-progress :percent="ia.percent" :show-cancel="false" v-show="uploadingImgId==ia.id" :ref="ia.id+'Xp'" ></x-progress>
</li>
imgArray數(shù)字的每一項加一個percent來對應啊
app里當然沒有調(diào)試工具了。你是為了復制文字(嘗試手指長按你想復制文字)?還是為了看看其dom節(jié)點,想進行調(diào)試?
$(function () {} )部分改成如下(ajax內(nèi)省略):
$(function () {
var $input = $( 'input[type=text]' ),
$btn = $( 'button' ),
status = {},
switchBtn = ( bool = false ) => {
bool
? $btn.removeAttr( 'disabled' )
: $btn.attr( 'disabled', 'disabled' )
};
switchBtn();
$input.on( {
blur() {
let $this = $( this ),
name = $this.attr( 'name' ),
val = $this.val(),
type = {
phone: () => !checkMobileAndTel( val ) && '不是一個手機號碼',
name: () => !isChn( val ) && '不是全中文',
plate: () => !isLicenseNo( val ) && '車牌不對'
},
exec = ( val ) => {
status[ name ] = val ? console.log( val ) : true;
( ( statusVal ) => {
console.log( statusVal );
statusVal.length === 3
&& statusVal.every( v => v === true )
? switchBtn( true )
: switchBtn();
} )( Object.values( status ) );
};
type[ name ]
&& exec( type[ name ]() );
}
} );
$btn.on( {
click() {
$.ajax();
}
});
});
基本思路是如此,其實還有優(yōu)化的地方,比如:
1.只用blur來判斷并不妥,還必須讓用戶做一次移出焦點操作。
2.input DOM結(jié)構(gòu)優(yōu)化的話,可以進一步減少js判定處理。
3.用disabled來控制不可點擊、效果的想法,也可以進行優(yōu)化
這些你可以再好好想想
題目若理解為最多只能輸入兩位小數(shù),則用/^(-)?(0|[1-9]\d*)(\s|$|\.\d{1,2}\b)/ 完美匹配以下情況:
var reg = /^(-)?(0|[1-9]\d*)(\s|$|\.\d{1,2}\b)/;
reg.test('0'); //true
reg.test('0.1'); //true
reg.test('1.23'); //true
reg.test('50'); //true
reg.test('-1.23'); //true
reg.test('-0.3'); //true
reg.test('00'); //false
reg.test('-00'); //false
reg.test('08'); //false
reg.test('0.123'); //false
reg.test('1.123'); //false
若理解為必須輸入兩位小數(shù), 則用 /^(-)?(0|[1-9]\d*)\.\d{2}$/
var reg = /^(-)?(0|[1-9]\d*)\.\d{2}$/;
reg.test('0.12'); //true
reg.test('1.12'); //true
reg.test('5.123'); //false
reg.test('0.123'); //false
reg.test('00.12'); //false
reg.test('01.12'); //false
//新聞類型切換
if(isset($_GET['newstype']) && !empty($_GET['newstype'])){
}
咳咳,老朋友來了。
1.首先是存儲的問題,存儲數(shù)組可以使用字符串的一個字段來存,將數(shù)組 JSON.stringify()序列化之后存成字符串。
2.建議使用Sequelize這個orm庫,一是封裝很多很方便的sql操作,也可以用原生sql,二是避免sql注入。
3.express響應json直接用res.json(obj)。
4.上述代碼的query的if err那里建議加上return,因為沒有用else,會導致響應兩遍而報錯 Can't set headers after they are sent
emmmm
1.應該是不行的 你可以嘗試一下
2.es6中json可以簡寫{ App }={ App:App }
3.如果你是sublime vscode aton cmd+p搜索router/index.js
北大青鳥APTECH成立于1999年。依托北京大學優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達內(nèi)教育集團成立于2002年,是一家由留學海歸創(chuàng)辦的高端職業(yè)教育培訓機構(gòu),是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學校辦產(chǎn)業(yè)為響應國家深化產(chǎn)教融合/校企合作的政策,積極推進“中國制造2025”,實現(xiàn)中華民族偉大復興的升級產(chǎn)業(yè)鏈。利用北京大學優(yōu)質(zhì)教育資源及背
博為峰,中國職業(yè)人才培訓領域的先行者
曾工作于聯(lián)想擔任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責任公司從事總經(jīng)理職務負責iOS教學及管理工作。
浪潮集團項目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗,技術(shù)功底深厚。 授課風格 授課風格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。