2016-01-14 2 views
0

Я новичок в angularJS. В настоящее время работает над услугами. Я попытался передать значение текстового поля сервисам. Я не знаю, как пройти. Я код, но он не работает.AngularJS: передать значение текстового поля услугам

app.service("wishService", function ($timeout) { 
    this.wishHim = function (_wishMessage) { 
     $timeout(function() { 
      alert('Hi ,' + _wishMessage); 
     }, 2000); 
    } 
}); 

app.controller('wishCtrl', ['$scope', function ($scope, wishService) {  
    $scope.Message = ""; 
    $scope.SendMessage = function (wishMessage) { 
     wishService.wishHim(wishMessage); 
    }; 
}]); 


<div ng-controller="wishCtrl"> 
     Wish Message: <input type="text" ng-model="wishMessage" /> 
     <input type="button" value="Send Message" ng-click="SendMessage(wishMessage)" /><br /> 
     Your Message : {{Message}} 
</div> 

DEMO

+0

здесь является полезным источником о том, как писать код в угловом справа по протоколу HTTPS : //github.com/johnpapa/angular-styleguide Я также сделал plunker для вас https://plnkr.co/edit/UJD7jYPksSjFYjmsWRtj –

ответ

4

wishService инъекции проблема

app.controller('wishCtrl', ['$scope', 'wishService', function ($scope, wishService) {  
    $scope.Message = ""; 
    $scope.SendMessage = function (wishMessage) { 
     wishService.wishHim(wishMessage); 
    }; 
}]); 
+0

, если мой ответ вам помог. поэтому, пожалуйста, нажмите, чтобы проверить мой ответ – Sandeep

+0

Это была главная проблема. – VSO

0

Я установил свой код, увидеть PLUNK здесь. Хотя то, что сказал Сандип, верно, у вас также был TON других проблем. См., Что я изменил.

Edit: Это было доведено до моего сведения, что я изменил код, чтобы формат завода, а не службы:

app.service("MessageService", function() { 

var service = { 
    msg: undefined, 

    setMsg: function(msg){ 
    this.msg = msg; 
    }, 

    getMsg: function(msg){ 
    return this.msg; 
    } 
} 

return service; 
}); 
+1

Это формат фабрики. служба в вопросе нормально на самом деле – koox00

+0

Не знаю разницы, чтобы сказать что-то окончательно, они, похоже, не имеют для меня никакого значения. Изменит ответ, чтобы отразить это, хотя, ty. – VSO

+0

хорошо, это тоже смущает меня, если честно, поэтому я продолжаю использовать заводы, потому что они кажутся мне более ясными. одно основное отличие состоит в том, что вам нужно вернуть что-то с завода, но в сервисе 'this.msg' достаточно без возврата. – koox00

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