鍍金池/ 問答/ HTML問答
青裙 回答

coins.shift() usable不知道你些內(nèi)容是怎么定義的?

浪蕩不羈 回答

后端直接接受body數(shù)據(jù):
如果是JAVA,則是:

public void add(@RequestBody Object DTO){} 

如果是PHP則是:

$body = file_get_contents("php://input");
冷咖啡 回答

在v-for 循環(huán)中,會出現(xiàn) index ,只需要點(diǎn)擊的時候,把index 、id 傳遞到方法中即可

<ul>
    <li v-for="(item,index) in dataArr" @click="del(index,item.id)" :key="item.id">
        {{item.name}}
    <li/>
</ul>

使用方法接受參數(shù):index 、id

methods:{
   del(index,id){
         console.log(id)//當(dāng)前id
         this.dataArr.splice(index,1); //刪除當(dāng)前行
    }
}

陌南塵 回答

兄弟,我遇到了跟你同樣的問題。你解決了么?

旖襯 回答

你只是想返回一個結(jié)果,但使用 throw 一般是拋出異常。
很多時候返回 status 為0,其實并不是異常。
我覺得這些時候使用 throw 是不合適的。
所謂的異常,應(yīng)該是“它本來應(yīng)該是這樣的,但結(jié)果卻不是”,才需要拋出異常。
比如你要處理一張圖片,傳的參數(shù)指向的文件存在,文件后綴也存在,但讀取數(shù)據(jù)后卻不能正確處理,這時拋個異常是可以理解的,但我個人覺得這還不夠好。

因為我就遇到過,使用 thinkPHP 3.2 的圖片處理類,遇到不能處理的圖片,直接拋出了異常,但其實對我來說,如果處理圖片有問題 ,是可以直接跳過去的。

也就是說:只有“這一步如果出錯,后面的代碼執(zhí)行就完全沒有意義或者完全不能執(zhí)行”的時候才去拋出異常,否則只需要返回結(jié)果,給使用者(可能是控制器)去處理就好了。

對于樓主的需求,ThinkPHP 是有內(nèi)置的方法的,比如控制器中有 success() 和 error() 兩種方法來滿足樓主的需要,當(dāng)然,我個人比較喜歡 ThinkPHP 3.2的處理方式,比如簡潔,ThinkPHP 5中的這兩個方法添加了不必要的參數(shù),寫起來倒挺麻煩的。
但這兩個方法只在控制器中有,模型中默認(rèn)是沒有的,當(dāng)然,如果你喜歡的話,也可以加到模型中去。
但我個人同樣不太推薦。處理返回結(jié)果或頁面跳轉(zhuǎn)的任務(wù)還是交給控制器會比較好。

模型中,其實可以自己定義個類似的方法,比如:

function succ($data="",$status=1){
      return array(
       'status'=>$status,
       'info'=>$data,
    );
}

function error($msg=""){
  return succ($msg,0);
}

你在模型中直接 return succ($data);或 return error($msg);即可。

控制器中根據(jù)返回的數(shù)組,再使用$this->success()或$this->error();當(dāng)然,如果你在使用ThinkPHP 5,也像我一樣比較喜歡 ThinkPHP 3.2 的風(fēng)格,這兩個方法你是可以改成3.2的風(fēng)格的。

說回樓主和你看到的大神的代碼,基本思想都差不多,只不過你直接返回一個數(shù)組,而“大神”卻直接拋出異常,我不喜歡這位大神的風(fēng)格。
但你和“大神”都喜歡寫重復(fù)的 "status'=>1,"msg"=>......,我則比較喜歡把它裝進(jìn)函數(shù)或方法中,畢竟這兩個操作是使用非常頻繁的。

關(guān)于代碼中較多 if/else 的情況,我一般使用兩種方法解決:

  1. 短的判斷可以用三目運(yùn)算符代替;
  2. 很多時候 if 時使用了return ,后面就可以不寫 else 了 。

補(bǔ)充:

概括一下:

  1. 模型中建議使用 return ,而不是拋出異常,return 的數(shù)據(jù)可以自己封裝個函數(shù)或方法;(當(dāng)然,要結(jié)合業(yè)務(wù)的具體需求!)
  2. 拋出異常意味著程序的終止,在非必須的情況下不要這樣做;
  3. 控制器中直接使用 success 和 error 或 ajaxReturn 方法即可。

但如果把樓主看到的“大神”的代碼從模型中移到控制器的話,應(yīng)該是合理的(除了重復(fù)的代碼有點(diǎn)多外)。
我個人是不太喜歡使用 throw,但我查看了一下 ThinkPHP 5 和 ThinkPHP 3.2 的源碼,其中的 success和 error 方法除了使用參數(shù)復(fù)雜性不同外,還有一點(diǎn)區(qū)別就是 3.2直接使用 exit()結(jié)束程序,而 5.0 版本中使用的是 throw 一個異常類。

應(yīng)該有理由相信,使用 throw 可能會比如說 exit 更好。
于是,我找到一種說法:

PHP調(diào)用exit退出腳本執(zhí)行不會導(dǎo)致PHP服務(wù)退出。
https://segmentfault.com/q/10...

我不了解底層的機(jī)制,但我覺得這種說法是比較可信的。

半心人 回答

如果是在.ts代碼中,應(yīng)該沒辦法吧?
ngFor是模板指令 ,在代碼中直接添加,沒有經(jīng)過ng引擎解析,直接就給瀏覽器展示了,試了一下:

//測試一個添加ngFor的形式丟進(jìn)去,看能否成功執(zhí)行
let str = `
  <p *ngFor="let o of arr">{{o}}</p>
`;
this.test.nativeElement.innerHTML = str;

所以 還是直接for循環(huán),把數(shù)據(jù)拼接進(jìn)去,然后一起放進(jìn)jm.add_node中
...坐等大佬回答了

孤客 回答

代碼貼全點(diǎn),你確定加力 rules

拼未來 回答

你確定你配置的assetsPath的路徑最后沒有少一個"/"嗎?

入她眼 回答

已經(jīng)解決了,微信網(wǎng)站掃碼支付要創(chuàng)建一個公眾號然后這個公眾號會創(chuàng)建一個新的商戶號,使用這個公眾號和商戶號就可以了,切記切記!

淺淺 回答

繪圖的記錄是可以的 可以通localstroage進(jìn)行存儲,所有的記錄值存到本地下次進(jìn)入后再取,但是大多時候是進(jìn)行服務(wù)端存儲的。

撿肥皂 回答

要安裝babel-preset-react
費(fèi)了好大勁

夢若殤 回答

參考文件替換: https://www.cnblogs.com/bigbe...
讀到內(nèi)存中,更改第一行,再寫到新文件中,最后用os.system移動文件

尛曖昧 回答

已經(jīng)解決,原來是resolve放錯了位置,感謝大家的關(guān)注,如下:

function allPromise() {
    return new Promise((resolve, reject) => {
        let data = []
        getName().then(res => {
            console.log('res', res)
            let promise1 = []
            for (var i = 0; i < res.length; i++) {

                let name = res[i].name
                let id = res[i].id
                let classes, scope
                for (var j = 0; j < arr2.length; j++) {
                    if (arr2[j].userId == id) {
                        classes = arr2[j].class
                        getScope(id).then(result => {
                            scope = result
                            data.push({
                                id: id,
                                name: name,
                                class: classes,
                                scope: scope
                            })
                        })
                    }
                }
            }
            console.log(data)
            resolve(data)
        })
    })
}
毀與悔 回答
  1. Node已經(jīng)是一個運(yùn)行時的JS服務(wù)環(huán)境,只要不同的Node項目使用不同的端口,可以使用IP:Port的方式訪問不同的項目。PM2是管理Node的軟件環(huán)境,可以使用PM2便捷地啟動切換停止多個Node項目;
  2. Nginx是配置域名關(guān)聯(lián)IP(包含不同的Port),測試時沒有域名,就直接使用IP即可,也即如【1】所述,只要PM2即可。
  3. MongoDB的配置(你應(yīng)該是問數(shù)據(jù)庫鏈接怎么寫) 取決于Node項目和MongoDB是否在同一服務(wù)器中 。
    3.1. 相同 則開發(fā)、測試、生產(chǎn)的MongoDB配置沒有區(qū)別,數(shù)據(jù)庫鏈接都是形如:mongodb://127.0.0.1:27017(默認(rèn)端口)/dev or /test or /production
    3.2. 不相同,即MongoDB數(shù)據(jù)庫在其它服務(wù)器中,允許遠(yuǎn)程連接的前提下,數(shù)據(jù)庫鏈接都是形如:mongodb://IP:Port/dev or /test or /production
    或者形如:
    mongodb://域名/dev or /test or /production
    3.3. MongoDB的啟動、停止、重啟可以參考官方文檔。
  4. PM2啟動成功以后,按照Node項目中開啟的端口,使用IP:Port的方式訪問任意項目。
  5. 圖中錯誤是mongoose未能鏈接到MongoDB數(shù)據(jù)庫。
  6. 不熟悉服務(wù)器環(huán)境配置的話,可以使用寶塔面板,直觀零基礎(chǔ)。