Како применити ињекцију зависности у АнгуларЈс



Ова артила ће вам пружити детаљно и свеобухватно знање о томе како применити убризгавање зависности у АнгуларЈс.

Ињекција зависности је образац софтверског дизајна који одређује начин на који се компоненте докопају својих зависности. Компоненте добијају зависности уместо да их тешко кодирају. Поновна употребљивост и одрживост могу се постићи употребом ињекције зависности. Ињекција врховне зависности у могу да ураде следеће компоненте:





Ињекција зависности вредности

Једноставни објекат у АнгуларЈс познат је као вредност. То може бити низ, број или чак ЈаваСцрипт објекат. Може се користити за прослеђивање вредности у фабрикама, услугама или контролерима током фазе покретања и конфигурације.

Пример:



// дефинишемо модул

вар фирстМодуле = ангулар.модуле ('фирстМодуле', [])

// креирамо објект вредности и преносимо му податке



фирстМодуле.валуе ('нумберВалуе', 50)

фирстМодуле.валуе ('стрингВалуе', 'киз')

фирстМодуле.валуе ('објецтВалуе', {вал1: 456, вал2: 'киз'})

У овом примеру вредности се дефинишу помоћу функције валуе (). Име вредности наводи први параметар, а други параметар вредност. То омогућава фабрикама, услугама и контролорима да се саме позове на ове вредности.

Убризгавање вредности

Можемо убризгати вредност у функцију регулатора АнгуларЈс додавањем параметра са истим именом као вредност.

Пример:

вар фирстМодуле = ангулар.модуле ('фирстМодуле', [])

фирстМодуле.валуе ('нумберВалуе', 18)

фирстМодуле.цонтроллер ('ФирстЦонтроллер', функција ($ опсег, бројВалуе) {

цонсоле.лог (нумберВалуе)

})

Фабричка ињекција

Функција која ствара вредности позната је као фабрика. Вредност на захтев ствара фабрика, кад год сервису или контролору треба вредност убризгана из фабрике. Једном када се вредност створи, она се поново користи за све услуге и контролере.

То користи фабричку функцију за израчунавање и враћање вредности.

Пример:

вар фирстМодуле = ангулар.модуле ('фирстМодуле', [])

фирстМодуле.фацтори ('фирстФацтори', фунцтион () {

врати 'вредност'

})

фирстМодуле.цонтроллер ('ФирстЦонтроллер', функција ($ опсег, фирстФацтори) {

цонсоле.лог (фирстФацтори)

})

Убризгавање вредности у фабрику

Вредност се може убризгати у фабрику следећом методом:

вар фирстМодуле = ангулар.модуле ('фирстМодуле', [])

фирстМодуле.валуе ('нумберВалуе', 29)

фирстМодуле.цонтроллер ('ФирстЦонтроллер', функција ($ опсег, бројВалуе) {

цонсоле.лог (нумберВалуе)

})

Мора се приметити да вредностпроизведена помоћу фабричке функције убризгава се, а не сама фабричка функција. Кренимо са овим чланком убризгавања зависности у АнгуларЈс.

како претворити доубле у инт у јави

Ињекција услуге у АнгуларЈ-овима

Једнократни ЈаваСцрипт објекат који садржи скуп функција познат је као услуга у АнгуларЈс. Логика неопходна за извршавање услуге садржана је у функцији. Услуга се може креирати коришћењем функције сервице () на модулу.

Пример:

// дефинишемо модул

вар фирстАпп = ангулар.модуле ('фирстАпп', [])

...

// креирамо услугу која дефинише методу квадрат за враћање квадрата броја

фирстАпп.сервице ('ЦалциСервице', функција (МатхСервице) {

тхис.скуаре = функција (к) {

ретурн МатхСервице.мултипли (к, к)

}

})

// убризгавамо услугу 'ЦалциСервице' у контролер

фирстАпп.цонтроллер ('ЦалциЦонтроллер', функција ($ опсег, ЦалциСервице,

дефаултИнпут) {

$ сцопе.нумбер = дефаултИнпут

$ сцопе.ресулт = ЦалциСервице.скуаре ($ сцопе.нумбер)

$ сцопе.скуаре = фунцтион () {

$ сцопе.ресулт = ЦалциСервице.скуаре ($ сцопе.нумбер)

}

})

Провидер

Да бисмо интерно креирали услуге или фабрику током фазе конфигурисања, користимо добављача. Провидер је посебна фабричка метода са функцијом гет () која се користи за враћање вредности / услуге / фабрике.

Пример:

// дефинишемо модул

вар фирстАпп = ангулар.модуле ('фирстАпп', [])

...

// креирамо услугу помоћу добављача који дефинише квадрат методе за враћање

квадрат броја.

фирстАпп.цонфиг (функција ($ обезбедити) {

$ провиде.провидер ('МатхСервице', фунцтион () {

ово. $ гет = фунцтион () {

вар фабрика =

фацтори.мултипли = фунцтион (к, и) {

повратак к * и

}

повратак фабрика

}

})

})

Стално

С обзиром да корисник не може убризгати вредности у функцију модуле.цонфиг (), користимо константе. Константе се користе за прослеђивање вредности у фази конфигурације.

фирстАпп.цонстант („цонфигПарам“, „константна вредност“)

Пример:

Горе наведене директиве могу се користити на следећи начин:

Убризгавање зависност

Пример АнгуларЈС квадрирања

Унесите било који број:

Икс2

Резултат: {{резултат}}

вар фирстАпп = ангулар.модуле ('фирстАпп', [])

фирстАпп.цонфиг (функција ($ обезбедити) {

$ провиде.провидер ('МатхСервице', фунцтион () {

ово. $ гет = фунцтион () {

вар фабрика =

фацтори.мултипли = фунцтион (к, и) {

повратак к * и

}

повратак фабрика

}

})

})

фирстАпп.валуе ('дефаултИнпут', 6)

фирстАпп.фацтори ('МатхСервице', фунцтион () {

вар фабрика =

јава алгоритми и структуре података

фацтори.мултипли = фунцтион (к, и) {

повратак к * и

}

повратак фабрика

})

фирстАпп.сервице ('ЦалциСервице', функција (МатхСервице) {

тхис.скуаре = функција (к) {

ретурн МатхСервице.мултипли (к, к)

}

})

фирстАпп.цонтроллер ('ЦалциЦонтроллер', функција ($ опсег, ЦалциСервице, дефаултИнпут) {

$ сцопе.нумбер = дефаултИнпут

$ сцопе.ресулт = ЦалциСервице.скуаре ($ сцопе.нумбер)

$ сцопе.скуаре = фунцтион () {

$ сцопе.ресулт = ЦалциСервице.скуаре ($ сцопе.нумбер)

}

})

ИЗЛАЗ:

убризгавање зависности у ангуларјс

Овим смо дошли до краја овог чланка Ињецтион зависности у чланку АнгуларЈс. Ц. извините Едурека, поуздана компанија за учење на мрежи са мрежом од више од 250.000 задовољних ученика раширених широм света.

Имате питање за нас? Молимо вас да га помињете у одељку за коментаре овог убризгавања зависности у АнгуларЈс и јавићемо вам се.