0

私はAngular Webアプリを開発しています.UIをコントローラーから完全にきれいに分離できるかどうか疑問に思っていますか?

サーバーにリクエストを送信してデータを取得するコントローラーメソッドがあります。エラーが発生した場合は、わかりやすいメッセージでユーザーに通知する必要があります。そのため、UI フレームワークの特定の API を呼び出して、ポップアップまたは何らかのトーストでユーザーに通知する必要があると考えています。しかし、それはコントローラーのロジックに UI コードを埋め込んでいるということではないでしょうか。UIとコントローラーを綺麗に分離するのとは逆じゃない?別の UI フレームワークに切り替えたい場合は、コントローラーのコードも変更する必要があります。

私はウェブアプリの初心者です。誰かが私の疑問を明確にしてくれることを願っています。あなたは何をしますか?

4

1 に答える 1

1

サーバーにリクエストを送信してデータを取得するコントローラーメソッドがあります。エラーが発生した場合は、わかりやすいメッセージでユーザーに通知する必要があります。だから私はUIフレームワークの特定のAPIを呼び出さなければならないと思っています

必ずしもこれを行う必要はありません。UI には、ユーザーに問題を示す HTML (UI コード) を含めることができます。を使用するng-ifと、この UI コードはユーザーから隠されます。コントローラーが負荷障害を検出すると、コントローラーに値を設定して、次のことを行うことができます。

  • UIコードを表示させる
  • 必要に応じて、UI コードで表示情報を設定します

<div ng-if="displayError">{{errorMsg}}</div>

次に、コントローラーで、次のようにします。

MyService.getData().then(
    function(responseData) {

        $scope.goodData = responseData;
    },

    function(failure) {

        $scope.displayError = true;
        $scope.errorMsg = "Failed to Retrieve Data"

    }
);
于 2014-01-22T02:21:51.813 に答える