HTML:AngularJS: Wert in Controller generiert von Service funktioniert nicht?
<body ng-controller="NumCtrl as ctrl">
<input type="text" id="textbox" ng-model="ctrl.num">
<h1>{{ctrl.num}}</h1>
<h3>Factorial</h3>
<p>{{ctrl.showfactorial}}</p>
Controller:
angular
.module('app')
.controller('NumCtrl', NumCtrl)
function NumCtrl(mathify) {
var ctrl = this;
ctrl.showfactorial = mathify.factorial(ctrl.num);
}
Service:
angular
.module('app', [])
.service('mathify', mathify)
function mathify() {
this.factorial = function(num) {
if (num === 1) {
return 1;
} else {
return num * this.factorial(num-1);
}
}// end of factorial
}
Der Service kommt vor dem Controller in den HTML-Script-Dateien. Sowohl ctrl.num als auch ctrl.showfactorial werden nicht angezeigt. Aber wenn ich in der Steuerung showfactorial auskommentiere, funktioniert ctrl.num gut. Was mache ich falsch?
falsch! Nachschlagen "Controller als" -Syntax. Er macht diesen Teil richtig. –