タグ付けされた質問 「backbone.js」

Backbone.jsは、RESTful JSONインターフェースを備えたJavaScriptフレームワークであり、モデル、ビュー、プレゼンター(MVP)のアプリケーション設計パラダイムに基づいています。

3
backbone.js-何がクリックされたかを知るイベント
私のbackbone.jsビュークラスの1つには、次のようなものがあります。 ... events: { 'click ul#perpage span' : 'perpage' }, perpage: function() { // Access the text of the span that was clicked here // Something like: alert($(element).text()) }, ... 私のページごとのマークアップは次のようなものになるかもしれないので: <ul id="perpage"> <li><span>5</span></li> <li><span>10</span></li> </ul> では、イベントを発生させた要素に関する情報をどのように正確に見つけることができますか?または、この例では、それがクリックされましたか?

5
なぜ無名関数を定義してjQueryを引数として渡すのですか?
backbone.jsスクリーンキャストからの優れたpeepcodeデモコードを調べています。その中で、バックボーンコードはすべてjQueryオブジェクトに渡される無名関数で囲まれています。 (function($) { // Backbone code in here })(jQuery); 私自身のバックボーンコードでは、すべてのコードをjQuery DOMの「準備完了」イベントにラップしました。 $(function(){ // Backbone code in here }); 最初のアプローチのポイント/利点は何ですか?このようにすると、無名関数が作成され、関数の引数としてjQueryオブジェクトが渡されてすぐに実行され、$がjQueryオブジェクトであることを効果的に保証します。これが唯一のポイントですか-jQueryが '$'にバインドされていることを保証するためですか、それとも他の理由がありますか?

5
ビューにパラメーターを渡す方法
一連のボタンがあり、クリックするとボタンの真下にポップアップメニューが表示されます。ボタンの位置をビューに渡したい。どうやってやるの? ItemView = Backbone.View.extend({ tagName: 'li', events: { 'click': 'showMenu' }, initialize: function() { _.bindAll(this, 'render'); }, render: function() { return $(this.el).html(this.model.get('name')); }, showMenu: function() { var itemColl = new ItemColl(); new MenuView({collection: itemColl}); // how to pass the position of menu here? } });

7
バックボーンで単一のモデルをフェッチするにはどうすればよいですか?
私はClockバックボーンにモデルを持っています: var Clock = Backbone.Model.extend({}); 私はからの最新情報を持つインスタンスを取得しようとしています/clocks/123。私が試したいくつかのこと: 「クラス」レベルのメソッド Clock.fetch(123) // TypeError: Object function (){ ... } has no method 'fetch' インスタンスを作成して呼び出すfetch: c = new Clock({id: 123}) c.fetch() // Error: A 'url' property or function must be specified コレクション AllClocksコレクションリソースを作成しようとしました(ページでそのようなものを使用していないにもかかわらず): var AllClocks = Backbone.Collection.extend({ model: Clock, url: '/clocks/' }); var allClocks = …

6
REST API呼び出しを保護するにはどうすればよいですか?
私は、バックエンドでいくつかの人気のあるWebフレームワークを使用する(Rails、Sinatra、Flask、Express.jsなど)休息のWebアプリケーションを開発しています。理想的には、Backbone.jsを使用してクライアント側を開発したいです。JavaScriptクライアント側のみがこれらのAPI呼び出しと対話できるようにするにはどうすればよいですか?これらのAPI呼び出しが公開curlされて、ブラウザでリンクを入力することで、または単に呼び出されることを望んでいません。

15
Backbone.jsによる逆の並べ替え順序
BACKBONE.JS Iましたがコンパレータ機能で設定コレクションを得ました。モデルをうまく並べ替えていますが、順序を逆にしたいと思います。 モデルを昇順ではなく降順に並べ替える方法を教えてください。

1
Backbone.jsモデルデータを保存する方法は?
私はフロントエンドの開発に興味があり、最近、Backbone.jsをアプリに取り入れ始めました。モデルデータをサーバーに永続化したい。 モデルデータを保存するさまざまな方法(json形式を使用)について説明してください。サーバー側でJavaを使用しています。また、主にデータの保存にRESTが使用されているのを見てきました。私はフロントエンド開発に興味があるので、RESTや他の同様のものに気づいていません。 誰かが簡単な例でプロセスを説明してくれたら素晴らしいと思います。

8
Backbone.jsビューでidとclassNameを動的に設定する
私はBackbone.jsを学習して使用しているところです。 アイテムモデルと対応するアイテムビューがあります。各モデルインスタンスにはitem_class属性とitem_id属性があり、対応するビューの「id」属性と「class」属性として反映させたいと思います。これを達成するための正しい方法は何ですか? 例: var ItemModel = Backbone.Model.extend({ }); var item1 = new ItemModel({item_class: "nice", item_id: "id1"}); var item2 = new ItemModel({item_class: "sad", item_id: "id2"}); var ItemView = Backbone.View.extend({ }); ビューのelが次のように変換されるように、ビューをどのように実装する必要がありますか。 <div id="id1" class="nice"></div> <div id="id2" class="sad"> </div> 私が見たほとんどの例では、ビューのelは意味のないラッパー要素として機能し、その中に「セマンティック」コードを手動で記述する必要があります。 var ItemView = Backbone.View.extend({ tagName: "div", // I know it's the default... …

3
Underscore.jsの_.bindAll()関数の説明が必要です
私はいくつかのbackbone.jsを学び、_.bindAll()使用されているインスタンスをたくさん見てきました。私はbackbone.jsとunderscore.jsのドキュメントページ全体を読んで、それが何をするのかを理解しようとしましたが、それでも何をするのかについては非常に曖昧です。アンダースコアの説明は次のとおりです。 _.bindAll(object, [*methodNames]) methodNamesで指定されたオブジェクト上のいくつかのメソッドをバインドして、呼び出されるたびにそのオブジェクトのコンテキストで実行されるようにします。イベントハンドラーとして使用される関数をバインドするのに非常に便利です。そうしないと、かなり役に立たないこれで呼び出されます。methodNamesが指定されていない場合、オブジェクトのすべての関数プロパティがそれにバインドされます。 var buttonView = { label : 'underscore', onClick : function(){ alert('clicked: ' + this.label); }, onHover : function(){ console.log('hovering: ' + this.label); } }; _.bindAll(buttonView); jQuery('#underscore_button').bind('click', buttonView.onClick); => When the button is clicked, this.label will have the correct value... おそらく別の例や口頭での説明をしてここで手助けできるなら、何でもいただければ幸いです。もっとチュートリアルや例を検索しようとしましたが、必要なものを提供するものはありませんでした。ほとんどの人はそれが自動的に何をするかを知っているようです...

7
Javascriptでは、このアンダースコアはどういう意味ですか?
var Gallery = Backbone.Controller.extend({ _index: null, _photos: null, _album :null, _subalbums:null, _subphotos:null, _data:null, _photosview:null, _currentsub:null, routes: { "": "index", "subalbum/:id": "subindex", "subalbum/:id/" : "directphoto", "subalbum/:id/:num" : "hashphoto" }, initialize: function(options) { var ws = this; if (this._index === null){ $.ajax({ url: 'data/album1.json', dataType: 'json', data: {}, success: function(data) { ws._data …

3
Webpack ProvidePluginと外部?
Backbone.jsでWebpackを使用するというアイデアを模索しています。 クイックスタートガイドに従い、Webpackがどのように機能するかについての一般的な考え方はありますが、jquery /バックボーン/アンダースコアなどの依存関係ライブラリをロードする方法がわかりません。 それらを外部にロードする<script>必要がありますか、それともWebpackがRequireJSのシムのように処理できるものですか? よるとWebPACKのドキュメント:モジュールをシミング、ProvidePluginおよびexternalsこれに関連すると思われる(そうであるbundle!ローダどこか)が、私は使用する際に把握することはできません。 ありがとう

7
Backbone.js:ビューを再作成または再作成しますか?
私のWebアプリケーションでは、左側のテーブルにユーザーリストがあり、右側にユーザ​​ー詳細ペインがあります。管理者がテーブル内のユーザーをクリックすると、その詳細が右側に表示されます。 左側にUserListViewとUserRowViewがあり、右側にUserDetailViewがあります。物事は一種の仕事ですが、私は奇妙な行動をしています。左側の一部のユーザーをクリックしてから、そのうちの1つをクリックすると、表示されているすべてのユーザーのJavaScript確認ボックスが連続して表示されます。 以前に表示されたすべてのビューのイベントバインディングが削除されていないようですが、これは正常のようです。UserRowViewで毎回新しいUserDetailViewを実行するべきではありませんか?ビューを維持し、その参照モデルを変更する必要がありますか?新しいビューを作成する前に、現在のビューを追跡して削除する必要がありますか?私はちょっと迷っていて、どんなアイデアでも歓迎します。ありがとうございました ! 左側のビューのコードは次のとおりです(行の表示、クリックイベント、右側のビューの作成) window.UserRowView = Backbone.View.extend({ tagName : "tr", events : { "click" : "click", }, render : function() { $(this.el).html(ich.bbViewUserTr(this.model.toJSON())); return this; }, click : function() { var view = new UserDetailView({model:this.model}) view.render() } }) そして、右側面図のコード(削除ボタン) window.UserDetailView = Backbone.View.extend({ el : $("#bbBoxUserDetail"), events : { "click .delete" …

7
Backbone.jsのビューを破棄または削除します
現在、ビューのdestroy / removeメソッドを実装しようとしていますが、すべてのビューで機能する一般的なソリューションを取得できません。 私は、コントローラに接続するイベントがあるだろう期待していたので、それが前のビューを破棄して新しい要求が来たときに、次に新しいものをロードします。 ビューごとに削除関数を作成せずにこれを行う方法はありますか?

4
Backbone.jsとjQuery
バックボーンはすべての高レベルの抽象化を処理すると言われていますが、jQueryまたは同様のライブラリはDOMと連携し、イベントを正規化します。 誰かが簡単な実用的な例でこのステートメントを理解するのを手伝ってくれませんか。 また、BackboneのようなMVCフレームワークの重要な機能の1つであるノックアウトは、モデル(データ)とビューの同期を維持することです。しかし、これはアプリケーション全体ではなく、ページレベルで固有のようです。それで、モデル/データとビューを複数のページ間で同期させることができますか..(一種のグローバル)

11
コレクション全体をBackbone.jsに保存する「方法」-Backbone.syncまたはjQuery.ajax?
私はそれができることをよく知っており、かなりの数の場所を見てきました(コレクション全体を保存するためのベストプラクティス?)。しかし、それがコードで「正確にどのように」書かれているのかはまだわかりません。(投稿は英語で説明しています。javascript固有の説明があると便利です:) モデルのコレクションがあるとします。モデル自体にネストされたコレクションがある場合があります。親コレクションのtoJSON()メソッドをオーバーライドし、有効なJSONオブジェクトを取得しています。コレクション全体(対応するJSON)を「保存」したいのですが、バックボーンにはその機能が組み込まれていないようです。 var MyCollection = Backbone.Collection.extend({ model:MyModel, //something to save? save: function() { //what to write here? } }); 私はあなたが言わなければならないどこかを知っています: Backbone.sync = function(method, model, options){ /* * What goes in here?? If at all anything needs to be done? * Where to declare this in the program? And how is …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.