鍍金池/ 問答/ HTML問答
絯孑氣 回答

autofocus="false"

取消默認(rèn)聚焦

clipboard.png

涼薄 回答

這個沒有任何區(qū)別啊

const p1=new Promise(function(resolve,reject){
    setTimeout(()=>reject(new Error('fail')),3000);
});
const p2=new Promise(function(resolve,reject){
    //setTimeout(()=>resolve(p1),1000);
    resolve(p1);
});

p2.then(result=>console.log(result))
.catch(error=>console.log(error));

console.log("p2===p1 =>"+(p2===p1));

p2和p1是2個不同的promise

getJSON('/post/1.json').then(function(post){
    return getJSON(post.commentURL);
}).then(function(comments){
    //some code
}).catch(function(error){
    //
});

==>

var getJSONPromise0=getJSON('/post/1.json');

var getJSONPromise1=getJSONPromise0.then(function(post){
    return getJSON(post.commentURL);
});
var getJSONPromise2=getJSONPromise1.then(function(comments){
    //some code
});

var getJSONPromise3=getJSONPromise2.catch(function(error){
    //
    console.log(error);
});

一共是4個promise

=====補充回答====
我們看看Promise
new Promise( /* executor */ function(resolve, reject) { ... } );
這個是Prmoise的構(gòu)造函數(shù)

Promise.prototype.then(onFulfilled, onRejected)是then方法的原型定義。

Appends fulfillment and rejection handlers to the promise, and returns a new promise resolving to the return value of the called handler, or to its original settled value if the promise was not handled (i.e. if the relevant handler onFulfilled or onRejected is not a function).

then方法返回一個新的promise對象,并把onFulfilled和onRejected作為新的Promise對象的完成或拒絕結(jié)果回調(diào)函數(shù)。
如果沒有對應(yīng)的回調(diào)函數(shù),那么將對應(yīng)的值直接作為新的Promise的resolve值

你要問的是onFulfilled函數(shù)有返回非promise,返回promise或不返回值之間的區(qū)別吧:
返回非promise,那么這個值通過Promise.resolve靜態(tài)方法轉(zhuǎn)成一個狀態(tài)確定的Promise返回
返回promise,那么這個新的promise將被返回作為作為后續(xù)then/catch方法的的實際調(diào)用Promise
不返回,也是返回一個一個狀態(tài)確定的Promise,最終的決議值為undefined

你可以簡單的認(rèn)為返回Promise就會把then方法返回的Promise代替了

測試代碼

var tempP;
var p1=new Promise(function(resolve,reject){
    setTimeout(function(){
        resolve("p1");
    },1000);
});

var p2=p1.then(function(data){
    console.log("p2 GOT:"+data);
    //[A]
    /*
    tempP=new Promise(function(resolve,reject){
        setTimeout(function(){
            resolve("return_Promise");
        },1000);
    });
    */
    
    tempP="return_Normal"http://[B]
    //return tempP; //[C]
},function(error){
    console.log("error:"+error);
});

var p3=p2.then(function(data){
    console.log("p3 GOT:"+data);
});

[A]結(jié)果
//p2 GOT:p1
//p3 GOT:return_Promise

[B]結(jié)果
//p2 GOT:p1
//p3 GOT:return_Normal

[C]結(jié)果
//p2 GOT:p1
//p3 GOT:undefined
亮瞎她 回答

js中應(yīng)該加上指針this,即this.$t('message.Password')。

挽歌 回答

Person.prototype 如果不是對象,就會設(shè)置 p 的原型為 Object構(gòu)造函數(shù)。

擱淺 回答

這個你需要全局安裝個concurrently, 用concurrently來運行2個命令

孤星 回答

你這個列表本來就是循環(huán)出來的,只要點擊checkbox的時候把這整個列表傳值到方法里操作就行了啊,里面的字段是v-model的,會雙向綁定

夏木 回答

利用Promise狀態(tài)一旦確定就不會更改的原則,只要是同一個Promise就能完成你的需求。
舉個栗子

let promiseA;

function A(by = 'A') {
    if (!promiseA) promiseA = new Promise((reslove, reject) => {
        setTimeout(() => {
            console.log('A success by function', by);
            reslove(by);
            promiseA = null;
        }, 1000)
    })

    return promiseA;
}


function B() {
    A('B').then((data) => {
        console.log('run B recive', data)
    })
}

//測試

function test() {
    console.log('first test')
    A();
    A();
    setTimeout(() => {
        B();
    }, 500)


    setTimeout(() => {
        console.log('second test')
        B();
        setTimeout(B, 500)

    }, 2000)
}

test();
毀與悔 回答

如果使用 React 請一定要用前端的方式來考慮問題。之前我們的后臺管理是用 Ant.Design + .NetCore 開發(fā)的,我們的方案是前后端分離, 使用這個方案,表示前端相關(guān)代碼不需要放進(jìn) .Net 項目中管理,單獨獨立出一個項目目錄即可 。所以,我們不使用 .NET 的 View 視圖層進(jìn)行模板渲染。.NET 只實現(xiàn)接口,前端通過 Ajax 進(jìn)行調(diào)用。然后使用 Nginx 托管前端的靜態(tài)資源,檢測到訪問路由屬于后端接口時,將請求轉(zhuǎn)發(fā)到 .NetCore ,使用 Docker 部署。

因為使用 React 必定會涉及到 webpack 等構(gòu)建工具,前端代碼必須經(jīng)過編譯后才可以使用。所以,使用前后端分離可以有效對前后端的開發(fā)過程解耦。這個是比較推薦的方案。


當(dāng)然,如果一定要使用 .Net 的 View 視圖層的話,開發(fā)環(huán)境下可以考慮把 webpack 的內(nèi)存讀寫改為硬盤讀寫,將編譯代碼寫到 .Net 的視圖目錄下。不過這個方案并不推薦。

傲寒 回答

你在手機上試過么?

葬憶 回答

為什么要做代理呢?
就是這個代理引起的。

乖乖噠 回答

JavaScript 內(nèi)部,所有數(shù)字都是以64位浮點數(shù)形式儲存,即使整數(shù)也是如此

喵小咪 回答

應(yīng)該是沒有在ready之后回調(diào)或者spa切換后沒有重新注冊api

耍太極 回答

你可以將使用mapSet的地方貼出來。
原因應(yīng)該是該數(shù)據(jù)不僅在VueX中被watch,還在其它地方被watch了,引發(fā)循環(huán)問題。
在設(shè)置以及取出VueX的數(shù)據(jù)時,都可以將數(shù)據(jù)深度拷貝一份,即是說去掉Vue附加的get/set監(jiān)聽。

離觴 回答

首先,你這里的 item key 用的是數(shù)組下標(biāo),導(dǎo)致了一個問題,刪除第二的時候,原第三個的下標(biāo)變成了2,導(dǎo)致了 click del 操作 引發(fā)了toggle 事件,切換了 open 狀態(tài)。
兩個方法解決這個問題:1. 給 @click="$emit('del', index)" 加 .stop 阻止冒泡;

                2. 修改 key 值,保證不會出現(xiàn)長度修改導(dǎo)致的 復(fù)用, :key="index + model.name"
刮刮樂 回答

$("button").on("click",function(){

alert($(this).attr("id"))

})