問題タブ [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.

0 投票する
1 に答える
40 参照

javascript - bruch-with-chaplin ボイラープレートで Sinonjs を使用する方法

私はブランチとチャップリンのボイラープレートから始めましたが、シノンとクニットをミックスに追加したいと思いました。だから私はそれらをに追加し、bower.jsonでインストールしましたbower install <lib>。それはすべて非常にスムーズに機能しますが、今は次のような機能にアクセスしたいと思います:

アップデート:

手動でビルドするとbrunch build、エラーが発生しました

だから私"main":"sinon.js"は運なしでファイルに追加しました。

0 投票する
1 に答える
630 参照

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 ファイルを無視するスクリプトが必要なだけです。

0 投票する
1 に答える
123 参照

javascript - クリーンな URL を使用して chaplinjs の他のコントローラーにモデルを渡す

私は、いくつかの追加のライブラリ (シノン、セレン、チャイ、モカ) を備えたブランチ付きチャップリンス ボイラープレートを使用しています。ここで、モデルをビュー、正確にはコレクションビューから、編集のために別のコントローラーに渡したいと思います。

私はこれを次のように行うことができます:

しかし、これは私のURLを乱雑にします:

サーバーからモデルを再フェッチせずに、URLをきれいに保ち、モデル全体を他のコントローラーに渡すための受け入れ可能な方法を見つけることができないようです。

0 投票する
1 に答える
63 参照

chaplinjs - 2 つの異なるサイト ビューを使用した Chaplinjs コンポジション

地域が異なる 2 つの異なるサイト ビューが必要です。
beforeAction メソッドでコンポジションを適切に記述するにはどうすればよいですか?
私が欲しいもの

0 投票する
0 に答える
38 参照

javascript - Chaplin.js Animated transition

Is there plugin for animated transition like this, but for Chaplin.js, not Ember?

Thanks for any help.

0 投票する
1 に答える
73 参照

requirejs - chaplin モジュールを同期的にロードする

をロードしようとしていますevent_broker module in the chaplinjs
私は次のようなことをすることでできる

しかし、これは私の場合は十分ではありません。event_broker モジュールを同期的にロードできるようにする必要があります。私はそれが何をするために設計されている必要があるかを知っています。それを行う方法はありますか?

0 投票する
0 に答える
173 参照

javascript - コレクション ビュー内のすべてのアイテム ビューがレンダリングされたことをどのように知ることができますか?

次のフローを持つ backbone.js/Chaplin アプリがあります。

  1. コレクションでインスタンス化されたコレクション ビュー
  2. コレクションはサーバーから取得されます
  3. コレクションの同期時に、コレクション ビュー内の各モデルの「アイテム ビュー」をレンダリングします。

これは、大量の todo を含む todo リストである可能性があります。1000 個の todo があるとします。

すべての仕事がレンダリングされたら、コレクション ビューに jQuery 効果を適用したいので、すべてのアイテム ビューが完全にレンダリングされるようにする必要があります。

jQuery 効果を適用する前に、すべての項目がコレクション ビュー内でレンダリングされていることを確認する最善の方法は何ですか?

私は現在、最後のビューがレンダリングされるのを待ってからjQuery効果を呼び出していますが、htmlがまだページに描画されていないように見えるため、これは機能しません。タイムアウトを追加した場合にのみ正しく機能します。

アイテム ビューでの render 関数のコードは次のとおりです。

0 投票する
1 に答える
70 参照

javascript - リッスンブロックルーチンで「メディエーター」をシンクとして使用する

他の誰かが作成した ChaplinJS プロジェクトを持っていますが、フレームワークの特定の詳細について十分に知らされていません。ここに私が理解するのが難しいと思っているビットがあります:

このコード ブロックは、いずれかのビュー JS ファイル内にあります。私はこのスタイルのイベント処理に精通しています。私の理解では、最初の部分 (「home:actionvideo」) はイベントの名前であり、2 番目の部分 (「mediator」) は要素セレクターです。コロンは、イベントに応答して実行する関数の名前です。

Chaplin.mediatorしかし、ここチャップリンの世界では、「メディエーター」は実際にはチャップリンのコアオブジェクトを指していると思います。これは正しいです?

そして、私がそれに取り組んでいる間、その最初の行はchange model何とか聞いていChaplin.modelますか?どれChaplin.model

0 投票する
0 に答える
109 参照

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 の同じコードは完璧に動作します

0 投票する
0 に答える
541 参照

iframe - バックボーン ビューと iFrame

メモリリークを避けるために、正しい方法で物事を行っているかどうかを知りたかった.

したがって、バックボーン ビュー内に iFrame があります。その iframe 内のいくつかの要素をクリックすると、ビュー内でいくつかの関数を実行したいと思います。

例えば

そのiFrame内にdiv要素があり、そのdivをクリックするとそのdivの色を変更したいとしましょう。

そのため、afterRender() フック内に、以下のようなイベント バインディングを追加しました。

では、イベントのバインドを解除するにはどうすればよいか、またはメモリ リークを回避するために他に何をすべきか。

現在、dispose メソッドでイベントを切り離しています。