8

あいまいなタイトルで申し訳ありません。

私は AngularJS コードの一部を再構築し、より「Angular」にしようとしてきましたが、このパターンがかなり出現することに気付きました。

app.service("someService", function(...) {
    ...
}

app.controller("ControllerForThisSection", function($scope, someService) {
    $scope.someService = someService
}

基本的に、コントローラーはほとんどの場合、スコープにサービスへの参照を提供して、ビューがそれを使用できるようにするために存在します。

<div ng-if="someService.status">
    ....
</div>

そのため、特定の共有データまたはサービスに依存するだけで、スコープを通じてそれらのサービスへの参照を利用できるようにするコントローラーがいくつかあります。

このデザインを使用するデメリットはありますか? 思考を改善できますか?これは「角度のある」方法ですか?

アドバイスをありがとう!

4

1 に答える 1

4

これが「角道」です。共有データはサービスに配置してから、必要な場所に挿入する必要があります。

私は自分の Angular アプリを主にモデル (通常はサービスに格納されます) とビューの観点から考えるのが好きです。コントローラーは、特定の UI ビューが必要とするモデルの部分を投影/抽出できるようにする単なる接着剤です。

また、サービスはモデル オブジェクトではなくモデルAPIを返すものと考えてください ( Josh を引用します)。

于 2013-06-21T15:02:05.933 に答える