2015-08-12 3 views
1

Я задал аналогичный вопрос, но не получил правильного ответа. Речь идет о сервисной функции в угловых. Когда я использую служебную функцию для определения услуги angularjs ненормальным способом, она на самом деле работает нормально. Я не могу найти документацию для этого стиля. См. Код ниже:Сервисная функция в Angularjs странный стиль

angular.module('myApp').service('myService',function(){ 
    return { 
     show:function() { 
      console.log('show'); 
     } 
    } 
}); 

var myController=function($scope,myService) { 
    myService.show(); 
} 

angular.module('myApp').controller('myController', myController); 

myController.$inject=['$scope','myService']; 

Но обычно функция обслуживания должна использовать this.show = function() {} вид этого стиля? Я прав? Итак, что случилось.

ответ

1

Он называется угловыми терминами factory, а не service. Никогда не создавайте такие сервисы: вы путаете других разработчиков. Это правильный путь: изменение service к factory, создаст точно такую ​​же услугу, но это не смущает больше:

angular.module('myApp').factory('myService',function(){ 
    return { 
    show:function(){ 
     console.log('show'); 
    }} 
}); 

См this page, чтобы узнать больше.

Что происходит? Кажется, угловой признает, что вы используете фабрику, но пока это не задокументировано, вероятно, в будущих версиях это не будет одинаковым, поэтому, хотя работает ваш метод, он по-прежнему не поддерживается.

+0

Спасибо, но кажется, что в настоящее время проект использует этот метод .... –

+0

, и это вас смущает ... Это то, о чем я говорил. – smnbbrv

Смежные вопросы