与えられた条件がMithril.jsに真であるとき、一つは自分自身を呼び出す関数を作成しない方法

Sujit:

これは私のミスリルのコードです:

m('input', {
    id: 'someBox',
    placeholder: 'Type something',
    oninput: () => {
        query = document.getElementById('someBox).value;
        //do something

        for(var a=0; a<500; ++a) {
            if(query != document.getElementById('someBox'))
                //call this function

            //do a lot of something
        }
    }
})

誰かがテキストを入力するたびに、セットまたは結果が負荷になっています。入力が変化した場合、以前の結果は、読み込みが終了しない限り、ロードされるようになっている結果は変わりません。だから私は内部の状態を持ってすることを決め起きてからこれを防止するためのfor()ループ。現在、私は使用していbreak;文を、いくつかの理由のためにそれは時々の結果をロードしません。

この機能に名前を付ける方法はありますか?

注:私は、原因特定の制限にグローバル関数を宣言することはできません。

Yevgen Gorbunkov:

(表記を矢印ではなく)に接続しますが、通常の関数を使用するためにそれは重要ではありません場合はoninput財産、あなたにその関数を参照してもよいthis.oninputような、:

m('input', {
    ...
    oninput: function(){
                ...
                if(query != document.getElementById('someBox'))
                //call this function
                this.oninput()
                ...
        }
    }
})

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=278439&siteId=1