Angular-styleguide: ์„œ๋น„์Šค ๊ฐ€์ด๋“œ๊ฐ€ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค

์— ๋งŒ๋“  2016๋…„ 07์›” 25์ผ  ยท  5์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: johnpapa/angular-styleguide

Angular ํŒ€์ด ์„œ๋น„์Šค์™€ ๊ณต์žฅ์— ๋Œ€ํ•ด ํ˜ผํ•ฉ๋œ ์•„์ด๋””์–ด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์—ˆ๋Š”์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์„œ๋น„์Šค ์„น์…˜์—์„œ ์–ธ๊ธ‰๋œ ์ฝ”๋“œ์™€ ์•„์ด๋””์–ด๋Š” Angular์˜ ์‚ฌ์ดํŠธ์—์„œ๋„ ํ•ฉ์‚ฐ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์„œ๋น„์Šค ๋“ฑ๋ก์ด ์ƒ์„ฑ์ž ํ•จ์ˆ˜๋ฅผ ๋‘ ๋ฒˆ์งธ ์ธ์ˆ˜๋กœ ์‚ฌ์šฉํ•˜๊ณ  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";
    }
})();
question

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๋‚  ์œ„ํ•ด ์ผํ•ด.
http://jsfiddle.net/sava/612phm6n/

๋ชจ๋“  5 ๋Œ“๊ธ€

์„œ๋น„์Šค ๋Œ€์‹  ๊ณต์žฅ ์‚ฌ์šฉ
Angular๋Š” ๊ณต์žฅ ๋ฐ ์„œ๋น„์Šค๋ฅผ ์œ„ํ•œ ์‹ฑ๊ธ€ํ†ค์ž…๋‹ˆ๋‹ค...

(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 ์˜ˆ, ํ•˜์ง€๋งŒ ๊ฐ€์žฅ ์ข‹์€ ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

@sava-vidakovic. ๋‚˜๋„

์ด๊ฒƒ์ด ๊ทธ๋“ค์ด ์ž‘๋™ํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค :)

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰