問題タブ [mithril.js]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
reactjs - Mithril VM DOM diffing は、添付されたイベント ハンドラーで diff を検出しません。
これは Mithril 固有の質問ではないかもしれませんが、一般的な VM DOM 差分です。ページを「再描画」しているときに、新しいイベント ハンドラーを追加したり、イベント ハンドラーを削除したり、「onclick」などのイベントに関連付けられたイベント ハンドラーを変更したりしているときに、VM DOM diffing が変更を検出しないようです。 「実際の」DOM の再レンダリングを明示的に強制します。
これらの状況を処理するための適切なパターンはありますか。
javascript - Mithril.js の要素数が多い場合のパフォーマンスの問題
私のアプリには、これまでのところ、並べ替えおよびフィルター可能なリストと、いくつかの入力とチェックボックスがあります。この問題は、リストに 500 を超えるアイテムがある場合に発生し、ユーザー入力 (チェックボックス、入力フィールド、メニュー) を持つすべての要素で、リスト内のアイテムの数が増加するにつれて約 0.5 秒の遅延が発生し始めます。リストのソートとフィルタリングは十分に高速ですが、入力要素の遅延が長すぎます。
問題は、リストと入力要素をどのように分離できるかということです。
リストコードは次のとおりです。
これは、リストと他のすべてのコンポーネントがアプリのメイン ビューから初期化される方法です。
m.redraw.strategy("none") と m.startComputation/endComputation をクリック イベントに追加して問題の回避策を開始しましたが、これで問題は解決しましたが、これは正しい解決策ですか? 例として、サード パーティの Mithril コンポーネントをリスト コンポーネントと一緒に使用する場合、外部コンポーネントのコードを変更せずにこれを行うにはどうすればよいですか?
反対に、私のリスト コンポーネントは「retain」フラグのようなものを使用できますか? リストは、指示されない限り、デフォルトでは再描画されませんか? しかし、サードパーティ コンポーネントの問題も解決しません。
リストのページネーションなど、この問題を解決するための他の戦略があることは知っていますが、Mithril 側からのベスト プラクティスを知りたいです。
前もってありがとう、ステファン
mongodb - ミスリル js または vue js で Mongodb を使用できますか?
データベース (Mongodb や MySql など) を mithril js または vue js に接続する方法を知りたいです。役に立つリンクやチュートリアルはありますか? ありがとう
javascript - ハッシュが削除されると、hashchange イベントが発生しますか?
jquery hashchange と window.addEventListener("hashchange") の両方を使用しましたが、ハッシュ部分がコードによって削除されたときにイベントが発生しませんでした。私はハッシュを変更するためにmithril.jsを使用しています:
URL のハッシュ部分が削除されたときにイベントが発生しますか? そうでない場合、このケースを処理するための回避策は何ですか?
javascript - ミスリルはビューを自動再描画しません
プロップ値を変更すると、ミスリルはビューを自動再描画しません。ボタンを押すと、プロップを次のように更新します。
prop 値を更新しますが、m.redraw() を使用してビューに反映されません。正常に動作しますか?
javascript - ルートが react.js でどのように機能するか
Ajax からのログインに成功した後、別のコンポーネントまたはモジュールをロードしたいプロジェクトに取り組んでいます。
javascript - Mithriljs: 送信時に完全なアプリケーションのリロードを防ぐ
ログインフォームだけの単一のコンポーネントがあります。ログインに失敗すると、何らかの理由でアプリケーションが完全にリロードされます。
これは、アプリケーションのメイン エントリです。それが行うのは、最初の認証 ping だけです。セッションがアップしている場合は、実際のアプリケーションをロードします。それ以外の場合は、単なるログイン フォームである認証コンポーネントをマウントします。
以下は、認証コンポーネントからビューを除いたものです。ログイン変数をビューにバインドし、送信アクションを定義します。間違った資格情報で送信アクションを実行すると、アプリケーションがリロードされます。
なぜアプリケーションをリロードするのですか?? Chrome コンソールの表示: Navigated to http://localhost:3000/?
「ログイン失敗!!!」の直後 コンソール メッセージ。これにより、アプリケーションが完全にリロードされます。そのため、画面上のエラー メッセージや不正なログインに関するポップアップが表示されなくなります。最後のエラーメッセージをコンソールに出力します「ログイン失敗!!!」。その後、submit 関数が終了すると、URL のルートに移動し、完全なリロードが発生します。
私は何を間違っていますか?
どうもありがとうございました。
json - localhost で実行されている Sails の履歴と XHR の問題
デフォルトの構成では、localhost で Sails サーバーを実行すると、Mithril アプリで XHR を作成できません。私が得るのは次のとおりです。
XMLHttpRequest はhttp://localhost:1337/json/test-realms.json を読み込めません。「Access-Control-Allow-Origin」ヘッダーに無効な値「」が含まれています。したがって、オリジン 'null' へのアクセスは許可されません。
その問題でCORSを有効にするallRoutes: true, origin: '*'
と、代わりに次のようになります。
DOMException: 'History' で 'replaceState' を実行できませんでした: URL ' http://localhost:1337/#!/ ' を持つ履歴状態オブジェクトは、オリジンが 'null' のドキュメントに作成できません。
ここでの問題は正確には何ですか?
アップデート:
- サーバーとして使用し
sails lift
ています。 - Web アプリは 経由で読み込まれ
http://test.pink
ます。ドメインは、HOSTS ファイルを介して LAN IP に設定されます。 file:///
またはを介してロードされるリソースはありませんlocalhost
。