рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреЛрдгреАрдп рдЯреАрдо рдХреЗ рдкрд╛рд╕ рд╕реЗрд╡рд╛рдУрдВ рдФрд░ рдХрд╛рд░рдЦрд╛рдиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдорд┐рд╢реНрд░рд┐рдд рд╡рд┐рдЪрд╛рд░ рдереЗред рд▓реЗрдХрд┐рди рд╕реЗрд╡рд╛ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдХреЛрдб рдФрд░ рд╡рд┐рдЪрд╛рд░ рдХреЛрдгреАрдп рд╕рд╛рдЗрдЯ рдкрд░ рднреА рдирд╣реАрдВ рдЬреБрдбрд╝рддреЗ рд╣реИрдВред рдпрджрд┐ рд╕реЗрд╡рд╛ рдкрдВрдЬреАрдХрд░рдг рджреВрд╕рд░реЗ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдлрд╝рдВрдХреНрд╢рди рд▓реЗрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рдорд╛рди рдХреЛ рдПрдХ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИ, рддреЛ new
рдХреАрд╡рд░реНрдб рдХреЗ рд╕рд╛рде, рддреЛ рдореИрдВ рдЗрд╕реЗ рдорд╛рдкрджрдВрдбреЛрдВ рдореЗрдВ рдЧреБрдЬрд░рдиреЗ рд╡рд╛рд▓реЗ рдПрдХ рд╕рдЪреНрдЪреЗ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдорд╛рди рд╕рдХрддрд╛?
(function () {
angular
.module("App")
.service("Person", Person);
//angular wants my parameters to be injectables.
function Person(name, age) {
this.name = name;
this.age = age;
}
})();
(function () {
angular
.module("App")
.controller("DemoController", DemoController);
DemoController.$inject = ["Person"];
function DemoController(Person) {
var a = new Person("rafael", 22);// ERROR
var Demo = this;
Demo.title = "Demo";
}
})();
рд╕рд░реНрд╡рд┐рд╕ рдХреА рдЬрдЧрд╣ рдлреИрдХреНрдЯреНрд░реА рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реЗрдВ
рдХреЛрдгреАрдп рдХрд╛рд░рдЦрд╛рдиреЗ рдФрд░ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рд┐рдВрдЧрд▓рдЯрди рд╣реИ...
(function() {
angular
.module('App')
.factory('servicePerson', servicePerson);
function servicePerson() {
function Person(name, age) {
this.name = name;
this.age = age;
}
Person.prototype.alert = function() {
alert('Name:' + this.name +' Age:'+ this.age);
}
var service = {
newPerson : newPerson
}
return service;
function newPerson(name, age){
return new Person(name, age);
}
}
}) ();
рдирд┐рдпрдВрддреНрд░рдХ рдореЗрдВ
(function() {
angular
.module('App')
.controller('DemoController', DemoController);
DemoController.$inject = ['servicePerson'];
function DemoController(servicePerson) {
var a = servicePerson.newPerson('rafael', 22);
a.alert();
var Demo = this;
Demo.title = 'Demo';
}
}) ();
рдпрд╣ рдареАрдХ рдирд╣реАрдВ рд╣реИ рджреЛрд╕реНрддред
рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдоред
http://jsfiddle.net/sava/612phm6n/
@mroutput , рд╣рд╛рдБ, рд▓реЗрдХрд┐рди рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдХреНрдпрд╛ рд╣реИ?
@ рд╕рд╛рд╡рд╛-рд╡рд┐рджрдХреЛрд╡рд┐рдХред рдореЗрд░реЗ рд▓рд┐рдП рднреА
рдЗрд╕ рддрд░рд╣ рд╡реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ :)
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдоред
http://jsfiddle.net/sava/612phm6n/