問題タブ [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.
web-applications - chaplin.js SyncMachine 呼び出し
現在、 chaplin.js でloadingIndicatorを使用して CollectionView を作成しています。対応するコレクションの初期化関数で、initSyncMachine()
このように呼び出す必要があります
CollectionView がリッスンする同期イベントをコレクションがトリガーするために、これが必要であることを認識しています。しかし、私は本当にbeginSync()
他のすべての関数を呼び出す必要がありますか? それはbackbone.js の sync メソッドで行われていませんか?
私の初期化関数は現在次のようになっています。
chaplin.js facebookの例はこれを行っていますが、そうする正当な理由があります。fetch()
メソッドをオーバーライドし、別の関数beginSync()
を呼び出しているときに呼び出します。finishSync()
url - ビューでルートURLパラメータを取得するにはどうすればよいですか?
CoffeeScriptではBackbone.jsとChaplin.jsを使用しています。挑戦があります。ルーティングされたビューでURLパラメータを取得するにはどうすればよいですか?
routers.coffee:
backbone.js - Chaplin.jsルート
js / chaplin.jsと私は、チャップリンルートに関するドキュメントを見つけるのにいくつかの困難があります。
私は次のコード(cofeescript)を持っています、それはクロームで動作しますが、Firefoxではサーバーへのリクエストを実行してナビゲートしようとし、404エラーを返します。サーバー側はASPMVC3プロジェクトです。
ルート定義->'usestrict'(match)-> match''、'page#home' match'Home'、'page#home' match'Services'、'page#services'
PageController
ナビゲーションバー(HTML)
PS:私が知りたいもう一つのことは、コントローラーがいつ呼び出されるかです:
これは、ホームビューとサービスビューの両方でAJAXを使用してロードしています。実際に呼び出されたビューのみをロードしたいですか?
ご協力いただきありがとうございます。
javascript - チャップリンはフェッチ後にモデルをレンダリングする方法、ビューはフェッチが終了したことをどのように認識しますか?
私は Chaplin-boilerplate に基づいたサンプル プロジェクトを行っており、完璧に動作していますが、フェッチが終了した後にビューがどのようにレンダリングされるか理解できません。たとえば、イベントの変更で使用できるバックボーンや、 fetch メソッドですが、chaplinjs ではどのようにこれを行っていますか?、Backbone から変更されたイベントを使用していますか?、Chaplinjs のどのクラスがイベントをバインドしていますか? バインディングはどうしていますか?
backbone.js - モデルを作成したときに Backbone.js を今すぐ削除したい
私はmongodbを使用してサーバー側にexpress.jsを持ち、前面にchaplin.jsを使用してブランチを作成しています.モデルを作成すると問題が発生し、モデルのリストに表示されますが、メソッドがNew()であるため削除できませんtrue を返します。
サーバー側の問題だと思いますよね?
これがコードです
comment_view.coffee
サーバー.js
backbone.js - チャップリン バックボーン フレームワーク - ビュー - 初期化およびレンダリング メソッドの使用方法は?
初期化メソッドとレンダリング メソッドの両方でいくつかのコードを実行する必要がありますが、私が理解しているように、Chaplin を使用している場合はそれらを直接変更することはできません。独自の初期化メソッドを定義すると、ルートが機能しなくなります。
afterInitialize() も試しましたが、オーバーライドすることを意図していないようです: https://github.com/chaplinjs/chaplin/issues/168#issuecomment-8015915
node.js - ルートを手動で変更すると mediator.user が失われる
パスポートのローカル認証を使用して単一ページのアプリケーションを構築しています。ユーザーは認証され、返されますapp.post "/login"
userobject が返された後、私はそれを保存しますChaplin.mediator.user
(facebook-example に見られるように)。URL を手動で変更しない限り、すべて正常に動作しますが、URL を変更して Enter キーを押すと、アプリケーションが再度読み込まれますが、別のルートで --> フロント エンドにユーザーがいません。
私が今行っていることは、ルートを手動で変更するたびに、サーバーにリクエストを送信し、 でユーザーを要求することですreq.user
。ユーザーを受け取った後、アプリケーションはワークフローを続行します。それは機能しますが、これが意図されている方法ではないと思います。応答を待たないと、ログインしていてもユーザー オブジェクトがなくなります。
どうすればこの問題を解決できますか?
編集:ユーザーを別のCookieに保存することになりました。これは私がユーザーを保存する方法です:
これは、ページが読み込まれた後にユーザーを抽出する方法です。
機能させるにはjquery-cookie プラグインが必要です。ユーザーがログアウトする場合は、Cookie を忘れずに削除してください。そしてもちろん、私はまだ他のアイデアにもオープンです。
view - chaplin.jsのビューが再レンダリングされないようにする
Chaplinアプリで少し遊んでいて、ルーティングされたURLに応じて、ナビゲーションのリンクにクラスを追加しようとしています。
これは、navigationView全体が再レンダリングされるまで、ほんの一瞬でうまく機能します。autoRender
に設定されfalse
ます。ビューが再レンダリングされないようにする方法を知っている人はいますか?
どうもありがとう
backbone.js - テンプレートの再レンダリング後のチャップリンのコンテキストなし
交換可能なテンプレートを持つことができるビューを作ろうとしています。したがって、チェックボックスの 1 つをクリックすると、ビューが再レンダリングされます。これは実際に起こっています。しかし、ビューが再レンダリングされて新しいテンプレートが正しく表示された後、コンテキストが失われ、このビューにバインドされたすべてのクリックが機能しなくなります。http://pastebin.com/bFJ5Yuer
ポインタはありますか?
javascript - Chaplin js フレームワーク内で、! で始まるイベントは何をしますか? 平均?
これらのイベントがチャップリンのサンプル コード全体に散りばめられているのを見てきましたが、ドキュメントやソースには説明がありません。アクションをトリガーするグローバルイベントであることを意味しているようです。あれは正しいですか?それらは単なる慣習ですか、それとも何らかの方法で強制されますか?