問題タブ [mvw]
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.
angularjs - MVWは何の略ですか?
AngularJSページのコンテンツの説明は次のとおりです。
AngularJSは、Webアプリを構築するために設計されていた場合のHTMLです。データバインディング、MVW、MVVM、MVC、依存性注入、優れたテスト容易性ストーリーを備えた宣言型テンプレートはすべて、純粋なクライアント側JavaScriptで実装されています。
では、MVWは何の略ですか?(MVC、MVVW、MVPなどの争いを考えると、「何でも」、Model-View-Whatever = Pだと思います)
javascript - 宣言型テンプレートの利点と欠点は何ですか? ViewModel アプローチ?
angularjs の宣言構文について話すときは、通常、$scope
ディレクティブと、処理、DOM 操作、データ収集、およびおそらくそれらのさまざまな組み合わせのために、これらのディレクティブにプロパティを渡す方法を取り上げます。
現在、宣言型テンプレートが正しいアプローチであることをチーム (自分自身は言うまでもなく) に納得させるのに苦労しています。それは必ずしもディレクティブを使用することを意味するわけではありませんが、ディレクティブを使用する方法です。
次のコントローラーとテンプレートのペアは、"model"/$scope のプロパティに基づいて要素を表示する例を示しています。
しかし、他のアプローチはこのように見えるかもしれません
isReady
この名前は、またはなどの可能性のあるものの誇張されたバージョンですが、ポイントは、さまざまなロジックがプロパティに依存するhasAll
場合、html が複数の属性を必要とする場合があることを示すことでした。ng-class
$scope
最初の例は、ロジックが非常に複雑になる場合を除いて、人々が通常使用するものです。さらに、angularjsがMVWであることも知っていますが、それは本当に役に立ちません。
「ViewModel」(プレゼンテーション ロジック) だけを$scope
コントローラに追加する必要がある場合がありますか? いつも?一度もない?また、プレゼンテーションロジックをコントローラー/テンプレートに入れることの利点/欠点は何ですか?
angularjs - angularjsのコレクションとシングルの2つのルートで解決を処理する単一のコントローラー
これは、angularjs 開発者が遭遇する一般的な問題である可能性があります。これが過去に既に回答されているかどうかはわかりません。簡単な検索では結果が得られません。
さて、私は2つの関連するルートを持っています。
これに関する問題は、ルートにアクセスする場合/user
、コントローラーにはユーザーとユーザーの 2 つのプロバイダーが必要になることです。
このために 2 つの別個のコントローラーを使用することをお勧めしますか? はいの場合、通常はコントローラーにどのように名前を付けますか? しかし、2 つの異なるコントローラーを使用するのは良くないと思います。
angularjs - AngularJS が MV* と見なされる理由
バックエンド (Rails) で MVC を使用しており、現在、フロントエンド (Angular) で MVC(MV*) を使用しています。Angular が MV* パターンと見なされているのを見てきましたが、正確にそう見なされるのはなぜですか?
Angular を使用して、ビュー (テンプレート)、コントローラー、およびサービスを使用してデータを提供することで、関心の分離を理解しています。この場合、ng-model を介したモデル (データ ストア) はフロントエンドの一時ストレージには意味がありますが、実際の永続性 (API に対して POST または PUT が行われたとき) はワイルドカードのようです。データを永続化する方法は、異なる方法で処理される可能性があります (データベース、ファイアベースなど)。
Angularのコントローラーはモデルよりも適切に定義されているため、私の理解に基づいて* VCの方が適切であるように思えます。
私が見逃している、または混乱している MV* パターンの核となる何かがあるに違いありません。
javascript - aurelia ビューで配列をフィルター処理する
私はaureliaを使用しており、ビュー モデルではなくビューでコレクション (配列) をフィルター処理したいと考えています。
そのために次の構文を試しています。
そして、ブラウザコンソールで次のエラーが表示されます:
Error: Parser Error: Missing expected ) at column 28 in [errors.filter(function(err){return err.Key==='car.Model';]
.
これは、次のように angularJS で可能です。
aureliaでも同様のことが可能ですか?
repeat.for
また、コレクション/配列を aureliaでフィルター処理する方法も知りたいです( と同様ng-repeat
)。同様の方法でフィルター関数を使用しようとしましたが、それも機能せず、同様のエラーが発生しました。
backbone.js - backbone.js でのモデルとビューの接続方法
私は Backbone.js が初めてで、モデルとビューがどのように接続されているかを理解できていません。
モデル、ビュー、コントローラーがどのように接続されているか、かなり明確なAngularで遊んだ。
Angular と Backbone は異なり、後者は MV* であることは知っています。
バックボーンでは、モデルとビューがどのように作成され、機能するかを理解できますが、それらはどのように接続されていますか? 私には、それらは分離されているように見えます。
説明するか、チュートリアルを教えてください。
前もって感謝します
編集
OK、これが例です。たまたまトロールが提案した本を読んだ。これは本のgithubからのコードです
読み始めます。Todo
モデルはわかりました。TodoList
コレクション了解です。それから私はに行きますTodoView
- 新しいものを作成します
li
- Underscore テンプレートを使用して html をコンパイルします
- 同じビューで後で実装するいくつかの関数を定義します
- 初期化関数を定義します
その関数の中で
これは何ですか?アクションをモデルthis.model.bind('change', this.render, this);
に魔法のようにバインドするにはどうすればよいでしょうか? change
コードはモデルについてどのように認識していますか? 彼がモデルを定義した時期と方法は? あるという理由だけで、コードはそれを知っていますmodel
=Todo
モデル?
彼はどのようにそのバインドを行いますか? 何が欠けていますか。これは私を混乱させるので、読書AppView
ビューはあまり役に立ちません
再度、感謝します
javascript - Angularjs MV* (MVW) ES6 を含むデザイン パターン - AngularJS
Izhaki と Artem Platonov によるデザイン パターンの理解に関するこれらの回答を読み、このアプローチについていくつか質問があります。些細なことかもしれませんが、答えが必要です。
Itzhaki による最終的な回答では、Angularjs のデザイン パターンはちょっと MVW (MODEL VIEW WHATEVER) のように思えましたが、まだ「モデル」を完全には理解していないと思います。
View(DOM) -> Controller -> Service(Application login) -> Model(like resource)
このパターンがこのように進む場合、システム全体に関するすべての情報はどこにありますか?
例: プレーヤーの数、グループの数など、「ゲーム」に関するいくつかのプロパティがあるとします。
このすべてのデータはどこにカプセル化されていますか?
es6 JS では、独自のプロパティを持つ Game というクラスを作成することを考えていました。
このクラスはどこに配置すればよいですか?
angularjs - MVVM WPF と MVC/MVVM AngularJS を比較する
WPF の MVVM アーキテクチャは理解できるようです。
- MVVM パターンのモデルは、ビジネス ロジックとデータをカプセル化します (ビジネス ログインとデータを担当する特定のクラスです) 。
- ビューの責任は、ユーザーが画面に表示するものの構造と外観を定義することです。( XAML ページを持つことで実装)
- MVVM パターンのビュー モデルは、ビューのプレゼンテーション ロジックとデータをカプセル化します (プレゼンテーション ログインを担当する特定のクラスです) 。
Angularjs のデザイン パターン MVC/MVVM と比較してみましょう。
ビューはDOM(html)です。
ビューモデルは次のとおりです。
$scopeオブジェクトは、 Controllerと呼ばれる関数によって装飾されているViewModelと見なすことができます。
そして、ここに質問があります
この AngularJS デザイン パターンのモデルは何ですか?
おそらくサービスがモデルであるべきだと理解しましたか?誰かが私にそれを明確にすることができますか?
ところで、モデルが Class である MVVM WPF デザイン パターンで説明したように、モデルとして ES6 Class を使用したいと考えています。