問題タブ [chaplinjs]
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.
javascript - bruch-with-chaplin ボイラープレートで Sinonjs を使用する方法
私はブランチとチャップリンのボイラープレートから始めましたが、シノンとクニットをミックスに追加したいと思いました。だから私はそれらをに追加し、bower.json
でインストールしましたbower install <lib>
。それはすべて非常にスムーズに機能しますが、今は次のような機能にアクセスしたいと思います:
アップデート:
手動でビルドするとbrunch build
、エラーが発生しました
だから私"main":"sinon.js"
は運なしでファイルに追加しました。
backbone.js - RequireJS を使用した Chrome 拡張機能、バックボーン (Chaplin) の競合
アクセスした Web サイト (ツールボックスなど) にコンテンツを追加する必要がある Google Chrome 拡張機能を作成しています。
RequireJS と BackboneJS (Chaplin) を使用する必要があり、RequireJS (および Backbone を使用していますが、問題は RequireJS の競合に起因するようです) を使用して Web サイトにアクセスしている場合を除いて、すべて問題ありません。(これは、コンテンツ スクリプトを使用して、RequireJS を含む -script- タグを含める場合です。)
ページにコンテンツを直接追加すると競合が発生するのが普通だと思うので、ここで解決策を試しました:requireJSとBackboneの複数のインスタンスをロードする
(今のところ)動作しているように見えますが、ウェブサイトは自分の RequireJS ファイルをロードする前に自分の RequireJS ファイルを(彼のパスで、ただし私の拡張機能で)リロードしようとしています。さらに、requirejs.config でファイル パスを正確に指定する必要があるか、Bitbucket ソース (クラウドフロント) でファイル パスを探しています。(当たり前かもしれませんが)
bitbucket の例:
<--------- このファイルは Bitbucket の RequireJS ですが、Bitbucket はまだ正常に動作しています
まだ見つけていない別の解決策はありますか? それとも私はそれを間違っていますか?私は RequireJS (および Chrome ext.. と Backbone...) の初心者なので、何かを見逃している可能性があります。
manifest.json の Content スクリプト部分は次のとおりです。
init-app.js は Rob のスクリプトです
およびmain.jsにはrequirejs.config + appが含まれています
たとえばgooogle.comで動作しますが、取得します
https://www.cloud9trader.com (RequireJS を使用する Web サイト)で
そのソースで。要約すると、「現在の」Web サイトの Require ファイルを無視するスクリプトが必要なだけです。
javascript - クリーンな URL を使用して chaplinjs の他のコントローラーにモデルを渡す
私は、いくつかの追加のライブラリ (シノン、セレン、チャイ、モカ) を備えたブランチ付きチャップリンス ボイラープレートを使用しています。ここで、モデルをビュー、正確にはコレクションビューから、編集のために別のコントローラーに渡したいと思います。
私はこれを次のように行うことができます:
しかし、これは私のURLを乱雑にします:
サーバーからモデルを再フェッチせずに、URLをきれいに保ち、モデル全体を他のコントローラーに渡すための受け入れ可能な方法を見つけることができないようです。
chaplinjs - 2 つの異なるサイト ビューを使用した Chaplinjs コンポジション
地域が異なる 2 つの異なるサイト ビューが必要です。
beforeAction メソッドでコンポジションを適切に記述するにはどうすればよいですか?
私が欲しいもの
javascript - Chaplin.js Animated transition
Is there plugin for animated transition like this, but for Chaplin.js, not Ember?
Thanks for any help.
requirejs - chaplin モジュールを同期的にロードする
をロードしようとしていますevent_broker module in the chaplinjs
。
私は次のようなことをすることでできる
しかし、これは私の場合は十分ではありません。event_broker モジュールを同期的にロードできるようにする必要があります。私はそれが何をするために設計されている必要があるかを知っています。それを行う方法はありますか?
javascript - コレクション ビュー内のすべてのアイテム ビューがレンダリングされたことをどのように知ることができますか?
次のフローを持つ backbone.js/Chaplin アプリがあります。
- コレクションでインスタンス化されたコレクション ビュー
- コレクションはサーバーから取得されます
- コレクションの同期時に、コレクション ビュー内の各モデルの「アイテム ビュー」をレンダリングします。
これは、大量の todo を含む todo リストである可能性があります。1000 個の todo があるとします。
すべての仕事がレンダリングされたら、コレクション ビューに jQuery 効果を適用したいので、すべてのアイテム ビューが完全にレンダリングされるようにする必要があります。
jQuery 効果を適用する前に、すべての項目がコレクション ビュー内でレンダリングされていることを確認する最善の方法は何ですか?
私は現在、最後のビューがレンダリングされるのを待ってからjQuery効果を呼び出していますが、htmlがまだページに描画されていないように見えるため、これは機能しません。タイムアウトを追加した場合にのみ正しく機能します。
アイテム ビューでの render 関数のコードは次のとおりです。
javascript - リッスンブロックルーチンで「メディエーター」をシンクとして使用する
他の誰かが作成した ChaplinJS プロジェクトを持っていますが、フレームワークの特定の詳細について十分に知らされていません。ここに私が理解するのが難しいと思っているビットがあります:
このコード ブロックは、いずれかのビュー JS ファイル内にあります。私はこのスタイルのイベント処理に精通しています。私の理解では、最初の部分 (「home:actionvideo」) はイベントの名前であり、2 番目の部分 (「mediator」) は要素セレクターです。コロンは、イベントに応答して実行する関数の名前です。
Chaplin.mediator
しかし、ここチャップリンの世界では、「メディエーター」は実際にはチャップリンのコアオブジェクトを指していると思います。これは正しいです?
そして、私がそれに取り組んでいる間、その最初の行はchange model
何とか聞いていChaplin.model
ますか?どれChaplin.model
?
javascript - cordova wp8 の HashNavigation でアプリがハングする
次のコードがあります
問題は、URL ハッシュ (両方のバリアント) を変更した後、アプリがハングすることです。そして興味深いのは、 2 番目のアラートが発生していないことです。そのため、アプリは...しばらくするとクラッシュします。js コンソールには何もありません。デバッグログは言う
スレッド 0x*** はコード 259 (0x103) で終了しました。
グーグルはそれについて何も見つけませんでした。これは一般的なエラー コードのようです。詳細: 私は ChaplinJs を使用しているため、ハッシュ ナビゲーションから逃れることはできません。
チャップリンがシステムをオーバーロードし、どこにも行けないという考えがありましたが、(!) window.on('hashchange',....) の lib のソースにログとアラートを配置しても、何の努力もしていません。そこにも着く。
WP 8.0 は Cordova 4.* と 5.* の両方を試し、xhrXelper.cs を変更しようとしましたが、ナビゲーション自体には関係ありません。
PS: モバイル ナビゲーションでハッシュ変更を無効にするよう jquery mobile が提案していることは知っています。しかし、私はできません:(
PPS: chaplin haschanges の無効化も試みました
しかし、href にハッシュを配置して間隔をチェックし、アプリが再びハングしたため、これも良い結果にはなりませんでした。だから私はそれがwebviewの問題だと思います
追加情報: アプリを継続的に再実行すると、時々機能します (10 回の実行で機能する場合があります)。それは非常に奇妙です。
エミュレータとデバイスは同じように動作します。
更新:「deviceready」イベントの前にナビゲーションを制限することが重要であることをどこかで読んでください。しかし、これも当てはまりません。
Update2: コルドバ プロジェクトをゼロから作成します。deviceready cb にハッシュの変更を追加するとハングする
Update3: 8.1 の同じコードは完璧に動作します
iframe - バックボーン ビューと iFrame
メモリリークを避けるために、正しい方法で物事を行っているかどうかを知りたかった.
したがって、バックボーン ビュー内に iFrame があります。その iframe 内のいくつかの要素をクリックすると、ビュー内でいくつかの関数を実行したいと思います。
例えば
そのiFrame内にdiv要素があり、そのdivをクリックするとそのdivの色を変更したいとしましょう。
そのため、afterRender() フック内に、以下のようなイベント バインディングを追加しました。
では、イベントのバインドを解除するにはどうすればよいか、またはメモリ リークを回避するために他に何をすべきか。
現在、dispose メソッドでイベントを切り離しています。