Ich bin nicht in der Lage, eine im Service deklarierte Funktion an einen Controller zu binden. Ich versuche im Grunde, die OnChange-Funktion im Dienst an die OnChange-Funktion im Controller $ Scope zu binden. ich diesen Fehler:
angular.js:13424 TypeError: Cannot set property 'onChange' of undefined
Hier ist mein Service
app.service('myService', function($http, $rootScope) {
this.selected = {
item: ''
}
this.getData = function(key){
return $http.get('/myapp/stocklist/AMZN');
}
this.gs = [];
var sr = [];
this.siri=[];
var vm=this;
this.cleanData = function(response){
for(var i=0; i<response.data.length; i++) {
vm.gs.push(response.data[i].name);
sr.push(response.data[i].high);
}
vm.siri.push(sr);
}
this.onChange = function(key){
vm.getData(key).then(function(response){
vm.cleanData(response);
console.log(vm.siri);
});
}
});
Und Controller:
app.controller('select', ['$scope', '$http', 'myService', function($scope,$http, myService) {
$scope.selected = myService.selected;
$http.get('/myapp/stocknames').
$scope.onChange = myService.onChange(); // why is this giving error? how do I do it?
success(function(data) {
$scope.names=data;
console.log($scope.names);
});
}]);
Können Sie mir bitte helfen
der Controller-Code nicht gültig sieht. Ist das "Erfolg" am richtigen Ort? –