我应该在Angular中将接口操作放在哪里?

时间:2015-03-30 07:38:04

标签: angularjs user-interface

我在引导我的角度应用程序时遇到问题。我想知道,我应该在哪里放置界面操作?我应该使用这些操作创建特殊控制器或服务吗?例如:我想创建负责显示警报的对象,并从app中的任何位置调用MyUiModule.showAlert(消息)。

哪种方法更好 - 控制器,服务还有别的什么?

1 个答案:

答案 0 :(得分:1)

由于您希望在应用内的任何位置使用showAlert功能,因此最好将其放置在服务中。

现在,在任何想要利用此服务的控制器中,只需将其作为依赖项注入并调用该方法。

app.factory("MyUiModule", function() {
   var UiModule = {};
       UiModule.showAlert  = function(message) {
          // construct the interface to show the alert
          // It could be angular-ui modal window
       };

       return UiModule;
});

在您想要使用它的控制器中:

app.controller("MyController", function($scope, MyUiModule) {
  $scope.login = function() {
      MyUiModule.showAlert("Please enter the username");
  }
});