フロントエンド-雑記
久しぶりにブログを書きましたが、今日は勝手に書いてください.
最近ずっとフロントエンドの業務の論理コードを書いて、前に学習して使うのはすべてちゃんぽんなため、専門のフロントエンドのコードの書くことに対してとても力がなくて、主にフロントエンドのコードの思想のこれで、機能を実現することができて、しかし効率が足りなくて、簡潔ではありません.
インタフェースはElement UIフレームワークを使用して、ドキュメントとケースを通じてプロジェクトに必要な論理コンポーネントを構築します.
仕事の途中で、初めてjavaのwebsocketとjsのwebsocket通信を使って、vueの中で購読主推を実現してリアルタイムの相場を表示して、この内容はとても面白くて、初めは顔が見えなくてぼんやりしていて、つまずいて、それから次第に整理して、論理関係を明らかにしました.
フロントエンドコードでは配列オブジェクト、データ型、データ精度などを処理することがよくありますが、ここでは少し記録します.
1.BigNumberオブジェクトを使用してjsデータの精度要求を実現する.具体的なコードは以下の通りである.
2、使用|&&回避の問題
この判断でoldCurrentRowオブジェクトが空になる可能性があり、oldCurrentRow.row_idエラーを報告し、このような問題を排除する場合に使用可能|,前半がtrue後半の論理であれば行われず、後半コードの実行を保証する場合 oldCurrentRowは空ではありません.
3、配列の重量除去
4,catchを用いてアラームエラーを与える
5,forEachとpushを使用してデータセットを必要な配列オブジェクトにフィルタリングする
6、定時クエリー指定方法、ライフサイクル終了時にクエリーを停止
7,文字列は数字の種類を誤認して加算する.文字列に1を乗じて数値タイプに変換します.および四捨五入指定桁数小数点以下
最近ずっとフロントエンドの業務の論理コードを書いて、前に学習して使うのはすべてちゃんぽんなため、専門のフロントエンドのコードの書くことに対してとても力がなくて、主にフロントエンドのコードの思想のこれで、機能を実現することができて、しかし効率が足りなくて、簡潔ではありません.
インタフェースはElement UIフレームワークを使用して、ドキュメントとケースを通じてプロジェクトに必要な論理コンポーネントを構築します.
仕事の途中で、初めてjavaのwebsocketとjsのwebsocket通信を使って、vueの中で購読主推を実現してリアルタイムの相場を表示して、この内容はとても面白くて、初めは顔が見えなくてぼんやりしていて、つまずいて、それから次第に整理して、論理関係を明らかにしました.
フロントエンドコードでは配列オブジェクト、データ型、データ精度などを処理することがよくありますが、ここでは少し記録します.
1.BigNumberオブジェクトを使用してjsデータの精度要求を実現する.具体的なコードは以下の通りである.
let avaliable = new BigNumber(x).minus(y)
.plus(z).minus(o).plus(p).minus(q)
avaliable.toFormat()
2、使用|&&回避の問題
if(!oldCurrentRow || currentRow.row_id!==oldCurrentRow.row_id){}
この判断でoldCurrentRowオブジェクトが空になる可能性があり、oldCurrentRow.row_idエラーを報告し、このような問題を排除する場合に使用可能|,前半がtrue後半の論理であれば行われず、後半コードの実行を保証する場合 oldCurrentRowは空ではありません.
3、配列の重量除去
let obj = {}
data=data.reduce((cur,next)=>{
obj[next.value] ? "" : obj[next.value] = true && cur.push(next);
return cur;
},[])
4,catchを用いてアラームエラーを与える
cancelOrder(){
this.$alert(' ?', ' ', {
confirmButtonText: ' ',
cancelButtonText: ' ',
type: 'warning'
}).then(() => {
this.$post('xxx.json', {
yy: zz //
}).then(resp => {
this.$message.success(' ')
}).catch(() => {
this.$message.error(' ')
})
}).catch(() => {
this.$message.info(' ')
})
},
5,forEachとpushを使用してデータセットを必要な配列オブジェクトにフィルタリングする
doHandle(){
let symbols = []
this.allSymbols.forEach(item=>{
if(item.no== this.selectedRow.no){
symbols.push({
lable:item.name,
value:item.no,
})
}
})
},
6、定時クエリー指定方法、ライフサイクル終了時にクエリーを停止
//
searchSecurity(){
…………
},
// ,30s
setInterval(){
this.intervalFlag = setInterval(this.searchSecurity, 30000);
},
// ,
beforeDestroy(){
clearInterval(this.intervalFlag)
},
7,文字列は数字の種類を誤認して加算する.文字列に1を乗じて数値タイプに変換します.および四捨五入指定桁数小数点以下
let ratio=(this.lever_ratio*1+1)*100/(this.lever_ratio)
ratio=ratio.toFixed(4)