2014-11-04 66 views
-1

我有控制器和服務。但是現在我想讓我的控制器代碼轉移到服務上,使其可重用。但是我在這裏面臨的問題是我的控制器正在使用$ scope服務。這意味着我的代碼依賴於$ scope事件。如果我將我的代碼移動到服務中,我將如何管理此$範圍事件服務中的更改。如何在角度js中的服務中使用範圍更改事件

+0

如果它做了很多範圍manupilation的你應該把它作爲一個控制器。而且,從來沒有人說過你不能重用控制器。 – wvdz 2014-11-04 13:43:51

回答

0

我不知道這是否是最有效的方法,但可以將$ scope作爲函數參數傳遞。

控制器:

MyService.aMethod($scope, otherParameter); 

服務:

this.aMethod = function (scope, otherParameter) { 
    scope.result = otherParameter * 10; 
}