AngularJS 16x Tutorial 6 services and factories
#############################
Video Source: www.youtube.com/watch?v=uo7XYaZ-onU
In this video, we create a service (and quickly a factory) to clean up our controller a little bit. We also learn about how to use dependency injection to make the service available inside the controller. • Social media: • Twitter: @johna2","styleRuns":[{"startIndex":0,"length":236,"styleRunExtensions":{"styleRunColorMapExtension":{"colorMap":[{"key":"USER_INTERFACE_THEME_DARK","value":4294967295},{"key":"USER_INTERFACE_THEME_LIGHT","value":4279440147}]}},"fontFamilyName":"Roboto"}]},"headerRuns":[{"startIndex":0,"length":236,"headerMapping":"ATTRIBUTED_STRING_HEADER_MAPPING_UNSPECIFIED"}]}},{"itemSectionRenderer":{"contents":[{"continuationItemRenderer":{"trigger":"CONTINUATION_TRIGGER_ON_ITEM_SHOWN","continuationEndpoint":{"clickTrackingParams":"CK8BELsvGAIiEwiq5uHdkd2JAxVy7EIFHQRPDAA=","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/next"}},"continuationCommand":{"token":"Eg0SC3VvN1hZYVotb25VGAYyJSIRIgt1bzdYWWFaLW9uVTAAeAJCEGNvbW1lbnRzLXNlY3Rpb24%3D","request":"CONTINUATION_REQUEST_TYPE_WATCH_NEXT"}}}}],"trackingParams":"CK8BELsvGAIiEwiq5uHdkd2JAxVy7EIFHQRPDAA=","sectionIdentifier":"comment-item-section","targetId":"comments-section"}}],"trackingParams":"CK4BELovIhMIqubh3ZHdiQMVcuxCBR0ETwwA"}},"secondaryResults":{"secondaryResults":{"results":[{"compactVideoRenderer":{"videoId":"D7STZ9-yThE","thumbnail":{"thumbnails":[{"url":"https://i.ytimg.com/vi/D7STZ9-yThE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG rs=AOn4CLCkHOXVn0T261t4Nfw1Ui2KisJW5A","width":168,"height":94},{"url":"https://i.ytimg.com/vi/D7STZ9-yThE/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg== rs=AOn4CLDgthwaNGweYyLd5EXgAdCkJMJj-Q","width":336,"height":188}]},"title":{"accessibility":{"accessibilityData":{"label":"AngularJS 1.6.x Tutorial - 7 - basic components автор: WalkThroughCode 16 170 переглядів 7 років тому 8 хвилин і 15 секунд"}},"simpleText":"AngularJS 1.6.x Tutorial - 7 - basic components"},"longBylineText":{"runs":[{"text":"WalkThroughCode","navigationEndpoint":{"clickTrackingParams":"CKgBEKQwGAAiEwiq5uHdkd2JAxVy7EIFHQRPDAAyB3JlbGF0ZWQ=","commandMetadata":{"webCommandMetadata":{"url":"/@WalkThroughCode","webPageType":"WEB_PAGE_TYPE_CHANNEL","rootVe":3611,"apiUrl":"/youtubei/v1/browse"}},"browseEndpoint":{"browseId":"UCC-D-QOVdVlxIZxYUGdyTSA","canonicalBaseUrl":"/@WalkThroughCode"}}}]},"publishedTimeText":{"simpleText":"7 років тому"},"viewCountText":{"simpleText":"16 170 переглядів"},"lengthText":{"accessibility":{"accessibilityData":{"label":"8 хвилин і 15 секунд"}},"simpleText":"8:15"},"navigationEndpoint":{"clickTrackingParams":"CKgBEKQwGAAiEwiq5uHdkd2JAxVy7EIFHQRPDAAyB3JlbGF0ZWRI9cT6s5rstce6AZoBBQgBEPgd","commandMetadata":{"webCommandMetadata":{"url":"/watch?v=D7STZ9-yThE","webPageType":"WEB_PAGE_TYPE_WATCH","rootVe":3832}},"watchEndpoint":{"videoId":"D7STZ9-yThE","nofollow":true,"watchEndpointSupportedOnesieConfig":{"html5PlaybackOnesieConfig":{"commonConfig":{"url":"https://rr4---sn-5hnednss.googlevideo.com/initplayback?source=youtube oeis=1 c=WEB oad=3200 ovd=3200 oaad=11000 oavd=11000 ocs=700 oewis=1 oputc=1 ofpcc=1 msp=1 odepv=1 id=0fb49367dfb24e11 ip=217.12.208.230 mt=1731632102 oweuc= pxtags=Cg4KAnR4Egg1MTM0MDY1NQ rxtags=Cg4KAnR4Egg1MTM0MDIyNg%2CCg4KAnR4Egg1MTM0MDIyNw%2CCg4KAnR4Egg1MTM0MDIyOA%2CCg4KAnR4Egg1MTM0MDIyOQ%2CCg4KAnR4Egg1MTM0MDY1Mw%2CCg4KAnR4Egg1MTM0MDY1NA%2CCg4KAnR4Egg1MTM0MDY1NQ%2CCg4KAnR4Egg1MTM0MDY1Ng"}}}}},"shortBylineText":{"runs":[{"text":"WalkThroughCode","navigationEndpoint":{"clickTrackingParams":"CKgBEKQwGAAiEwiq5uHdkd2JAxVy7EIFHQRPDAAyB3JlbGF0ZWQ=","commandMetadata":{"webCommandMetadata":{"url":"/@WalkThroughCode","webPageType":"WEB_PAGE_TYPE_CHANNEL","rootVe":3611,"apiUrl":"/youtubei/v1/browse"}},"browseEndpoint":{"browseId":"UCC-D-QOVdVlxIZxYUGdyTSA","canonicalBaseUrl":"/@WalkThroughCode"}}}]},"channelThumbnail":{"thumbnails":[{"url":"https://yt3.ggpht.com/ytc/AIdro_k6Iv6QFKbkmFFfe8YiuQdsjvMlcUGjrYj1Tl_pntrunA=s68-c-k-c0x00ffffff-no-rj","width":68,"height":68}]},"trackingParams":"CKgBEKQwGAAiEwiq5uHdkd2JAxVy7EIFHQRPDABAkZzJ_f3spNoP","shortViewCountText":{"accessibility":{"accessibilityData":{"label":"16 тисяч переглядів"}},"simpleText":"16 тис. переглядів"},"menu":{"menuRenderer":{"items":[{"menuServiceItemRenderer":{"text":{"runs":[{"text":"Додати в чергу"}]},"icon":{"iconType":"ADD_TO_QUEUE_TAIL"},"serviceEndpoint":{"clickTrackingParams":"CKwBEP6YBBgFIhMIqubh3ZHdiQMVcuxCBR0ETwwA","commandMetadata":{"webCommandMetadata":{"sendPost":true}},"signalServiceEndpoint":{"signal":"CLIENT_SIGNAL","actions":[{"clickTrackingParams":"CKwBEP6YBBgFIhMIqubh3ZHdiQMVcuxCBR0ETwwA","addToPlaylistCommand":{"openMiniplayer":false,"openListPanel":true,"videoId":"D7STZ9-yThE","listType":"PLAYLIST_EDIT_LIST_TYPE_QUEUE","onCreateListCommand":{"clickTrackingParams":"CKwBEP6YBBgFIhMIqubh3ZHdiQMVcuxCBR0ETwwA","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/playlist/create"}},"createPlaylistServiceEndpoint":{"videoIds":["D7STZ9-yThE"],"params":"CAQ%3D"}},"videoIds":["D7STZ9-yThE"]}},{"clickTrackingParams":"CKwBEP6YBBgFIhMIqubh3ZHdiQMVcuxCBR0ETwwA","openPopupAction":{"popup":{"notificationActionRenderer":{"responseText":{"simpleText":"Додано до черги"},"trackingParams":"CK0BELlqIhMIqubh3ZHdiQMVcuxCBR0ETwwA"}},"popupType":"TOAST"}}]}},"trackingParams":"CKwBEP6YBBgFIhMIqubh3ZHdiQMVcuxCBR0ETwwA"}},{"menuServiceItemRenderer":{"text":{"runs":[{"text":"Поділитися"}]},"icon":{"iconType":"SHARE"},"serviceEndpoint":{"clickTrackingParams":"CKgBEKQwGAAiEwiq5uHdkd2JAxVy7EIFHQRPDAA=","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/share/get_share_panel"}},"shareEntityServiceEndpoint":{"serializedShareEntity":"CgtEN1NUWjkteVRoRQ%3D%3D","commands":[{"clickTrackingParams":"CKgBEKQwGAAiEwiq5uHdkd2JAxVy7EIFHQRPDAA=","openPopupAction":{"popup":{"unifiedSharePanelRenderer":{"trackingParams":"CKsBEI5iIhMIqubh3ZHdiQMVcuxCBR0ETwwA","showLoadingSpinner":true}},"popupType":"DIALOG","beReused":true}}]}},"trackingParams":"CKgBEKQwGAAiEwiq5uHdkd2JAxVy7EIFHQRPDAA=","hasSeparator":true}}],"trackingParams":"CKgBEKQwGAAiEwiq5uHdkd2JAxVy7EIFHQRPDAA=","accessibility":{"accessibilityData":{"label":"Меню дій"}},"targetId":"watch-related-menu-button"}},"thumbnailOverlays":[{"thumbnailOverlayTimeStatusRenderer":{"text":{"accessibility":{"accessibilityData":{"label":"8 хвилин і 15 секунд"}},"simpleText":"8:15"},"style":"DEFAULT"}},{"thumbnailOverlayToggleButtonRenderer":{"isToggled":false,"untoggledIcon":{"iconType":"WATCH_LATER"},"toggledIcon":{"iconType":"CHECK"},"untoggledTooltip":"Переглянути пізніше","toggledTooltip":"Додано","untoggledServiceEndpoint":{"clickTrackingParams":"CKoBEPnnAxgBIhMIqubh3ZHdiQMVcuxCBR0ETwwA","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/browse/edit_playlist"}},"playlistEditEndpoint":{"playlistId":"WL","actions":[{"addedVideoId":"D7STZ9-yThE","action":"ACTION_ADD_VIDEO"}]}},"toggledServiceEndpoint":{"clickTrackingParams":"CKoBEPnnAxgBIhMIqubh3ZHdiQMVcuxCBR0ETwwA","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/browse/edit_playlist"}},"playlistEditEndpoint":{"playlistId":"WL","actions":[{"action":"ACTION_REMOVE_VIDEO_BY_VIDEO_ID","removedVideoId":"D7STZ9-yThE"}]}},"untoggledAccessibility":{"accessibilityData":{"label":"Переглянути пізніше"}},"toggledAccessibility":{"accessibilityData":{"label":"Додано"}},"trackingParams":"CKoBEPnnAxgBIhMIqubh3ZHdiQMVcuxCBR0ETwwA"}},{"thumbnailOverlayToggleButtonRenderer":{"untoggledIcon":{"iconType":"ADD_TO_QUEUE_TAIL"},"toggledIcon":{"iconType":"PLAYLIST_ADD_CHECK"},"untoggledTooltip":"Додати в чергу","toggledTooltip":"Додано","untoggledServiceEndpoint":{"clickTrackingParams":"CKkBEMfsBBgCIhMIqubh3ZHdiQMVcuxCBR0ETwwA","commandMetadata":{"webCommandMetadata":{"sendPost":true}},"signalServiceEndpoint":{"signal":"CLIENT_SIGNAL","actions":[{"clickTrackingParams":"CKkBEMfsBBgCIhMIqubh3ZHdiQMVcuxCBR0ETwwA","addToPlaylistCommand":{"openMiniplayer":false,"openListPanel":true,"videoId":"D7STZ9-yThE","listType":"PLAYLIST_EDIT_LIST_TYPE_QUEUE","onCreateListCommand":{"clickTrackingParams":"CKkBEMfsBBgCIhMIqubh3ZHdiQMVcuxCBR0ETwwA","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/playlist/create"}},"createPlaylistServiceEndpoint":{"videoIds":["D7STZ9-yThE"],"params":"CAQ%3D"}},"videoIds":["D7STZ9-yThE"]}}]}},"untoggledAccessibility":{"accessibilityData":{"label":"Додати в чергу"}},"toggledAccessibility":{"accessibilityData":{"label":"Додано"}},"trackingParams":"CKkBEMfsBBgCIhMIqubh3ZHdiQMVcuxCBR0ETwwA"}},{"thumbnailOverlayNowPlayingRenderer":{"text":{"runs":[{"text":"Зараз відтворюється"}]}}}],"accessibility":{"accessibilityData":{"label":"AngularJS 1.6.x Tutorial - 7 - basic components – 8 хвилин і 15 секунд – Перейти до каналу – WalkThroughCode - 16 тис. переглядів - 7 років тому – відтворити відео"}},"richThumbnail":{"movingThumbnailRenderer":{"enableHoveredLogging":true,"enableOverlay":true}}}},{"compactVideoRenderer":{"videoId":"oUXku28ex-M","thumbnail":{"thumbnails":[{"url":"https://i.ytimg.com/vi/oUXku28ex-M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG rs=AOn4CLCKL4YHXdF6WCOzK8HYRnYwmOn3ig","width":168,"height":94},{"url":"https://i.ytimg.com/vi/oUXku28ex-M/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg== rs=AOn4CLBj4HrpIZJyhLnSJpGxsCnLoJNMvQ","width":336,"height":188}]},"title":{"accessibility":{"accessibilityData":{"label":"AngularJS: Developing Custom Services (factory vs service vs Provider) автор: Tech CBT 130 189 переглядів 8 років тому 1 година і 12 хвилин"}},"simpleText":"AngularJS: Developing Custom Services (factory vs service vs Provider)"},"longBylineText":{"runs":[{"text":"Tech CBT","navigationEndpoint":{"clickTrackingParams":"CKIBEKQwGAEiEwiq5uHdkd2JAxVy7EIFHQRPDAAyB3JlbGF0ZWQ=","commandMetadata":{"webCommandMetadata":{"url":"/@Techcbt-online","webPageType":"WEB_PAGE_TYPE_CHANNEL","rootVe":3611,"apiUrl":"/youtubei/v1/browse"}},"browseEndpoint":{"browseId":"UCJ1GreMvJv6U5JtPGCinwJw","canonicalBaseUrl":"/@Techcbt-online"}}}]},"publishedTimeText":{"simpleText":"8 років тому"},"viewCountText":{"simpleText":"130 189 переглядів"},"lengthText":{"accessibility":{"accessibilityData":{"label":"1 година, 12 хвилин і 27 секунд"}},"simpleText":"1:12:27"},"navigationEndpoint":{"clickTrackingParams":"CKIBEKQwGAEiEwiq5uHdkd2JAxVy7EIFHQRPDAAyB3JlbGF0ZWRI9cT6s5rstce6AZoBBQgBEPgd","commandMetadata":{"webCommandMetadata":{"url":"/watch?v=oUXku28ex-M","webPageType":"WEB_PAGE_TYPE_WATCH","rootVe":3832}},"watchEndpoint":{"videoId":"oUXku28ex-M","nofollow":true,"watchEndpointSupportedOnesieConfig":{"html5PlaybackOnesieConfig":{"commonConfig":{"url":"https://rr1---sn-5hne6nz6.googlevideo.com/initplayback?source=youtube oeis=1 c=WEB oad=3200 ovd=3200 oaad=11000 oavd=11000 ocs=700 oewis=1 oputc=1 ofpcc=1 msp=1 odepv=1 id=a145e4bb6f1ec7e3 ip=217.12.208.230 mt=1731632102 oweuc= pxtags=Cg4KAnR4Egg1MTM0MDY1NQ rxtags=Cg4KAnR4Egg1MTM0MDIyNg%2CCg4KAnR4Egg1MTM0MDIyNw%2CCg4KAnR4Egg1MTM0MDIyOA%2CCg4KAnR4Egg1MTM0MDIyOQ%2CCg4KAnR4Egg1MTM0MDY1Mw%2CCg4KAnR4Egg1MTM0MDY1NA%2CCg4KAnR4Egg1MTM0MDY1NQ%2CCg4KAnR4Egg1MTM0MDY1Ng"}}}}},"shortBylineText":{"runs":[{"text":"Tech CBT","navigationEndpoint":{"clickTrackingParams":"CKIBEKQwGAEiEwiq5uHdkd2JAxVy7EIFHQRPDAAyB3JlbGF0ZWQ=","commandMetadata":{"webCommandMetadata":{"url":"/@Techcbt-online","webPageType":"WEB_PAGE_TYPE_CHANNEL","rootVe":3611,"apiUrl":"/youtubei/v1/browse"}},"browseEndpoint":{"browseId":"UCJ1GreMvJv6U5JtPGCinwJw","canonicalBaseUrl":"/@Techcbt-online"}}}]},"channelThumbnail":{"thumbnails":[{"url":"https://yt3.ggpht.com/ytc/AIdro_ni_VSDrVtj3UrcH-G78uXe9UBwws61SKEdhN13Hhx7Bg=s68-c-k-c0x00ffffff-no-rj","width":68,"height":68}]},"trackingParams":"CKIBEKQwGAEiEwiq5uHdkd2JAxVy7EIFHQRPDABA44_7-LaX-aKhAQ==","shortViewCountText":{"accessibility":{"accessibilityData":{"label":"130 тисяч переглядів"}},"simpleText":"130 тис. переглядів"},"menu":{"menuRenderer":{"items":[{"menuServiceItemRenderer":{"text":{"runs":[{"text":"Додати в чергу"}]},"icon":{"iconType":"ADD_TO_QUEUE_TAIL"},"serviceEndpoint":{"clickTrackingParams":"CKYBEP6YBBgGIhMIqubh3ZHdiQMVcuxCBR0ETwwA","commandMetadata":{"webCommandMetadata":{"sendPost":true}},"signalServiceEndpoint":{"signal":"CLIENT_SIGNAL","actions":[{"clickTrackingParams":"CKYBEP6YBBgGIhMIqubh3ZHdiQMVcuxCBR0ETwwA","addToPlaylistCommand":{"openMiniplayer":false,"openListPanel":true,"videoId":"oUXku28ex-M","listType":"PLAYLIST_EDIT_LIST_TYPE_QUEUE","onCreateListCommand":{"clickTrackingParams":"CKYBEP6YBBgGIhMIqubh3ZHdiQMVcuxCBR0ETwwA","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/playlist/create"}},"createPlaylistServiceEndpoint":{"videoIds":["oUXku28ex-M"],"params":"CAQ%3D"}},"videoIds":["oUXku28ex-M"]}},{"clickTrackingParams":"CKYBEP6YBBgGIhMIqubh3ZHdiQMVcuxCBR0ETwwA","openPopupAction":{"popup":{"notificationActionRenderer":{"responseText":{"simpleText":"Додано до черги"},"trackingParams":"CKcBELlqIhMIqubh3ZHdiQMVcuxCBR0ETwwA"}},"popupType":"TOAST"}}]}},"trackingParams":"CKYBEP6YBBgGIhMIqubh3ZHdiQMVcuxCBR0ETwwA"}},{"menuServiceItemRenderer":{"text":{"runs":[{"text":"Поділитися"}]},"icon":{"iconType":"SHARE"},"serviceEndpoint":{"clickTrackingParams":"CKIBEKQwGAEiEwiq5uHdkd2JAxVy7EIFHQRPDAA=","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/share/get_share_panel"}},"shareEntityServiceEndpoint":{"serializedShareEntity":"CgtvVVhrdTI4ZXgtTQ%3D%3D","commands":[{"clickTrackingParams":"CKIBEKQwGAEiEwiq5uHdkd2JAxVy7EIFHQRPDAA=","openPopupAction":{"popup":{"unifiedSharePanelRenderer":{"trackingParams":"CKUBEI5iIhMIqubh3ZHdiQMVcuxCBR0ETwwA","showLoadingSpinner":true}},"popupType":"DIALOG","beReused":true}}]}},"trackingParams":"CKIBEKQwGAEiEwiq5uHdkd2JAxVy7EIFHQRPDAA=","hasSeparator":true}}],"trackingParams":"CKIBEKQwGAEiEwiq5uHdkd2JAxVy7EIFHQRPDAA=","accessibility":{"accessibilityData":{"label":"Меню дій"}}}},"thumbnailOverlays":[{"thumbnailOverlayTimeStatusRenderer":{"text":{"accessibility":{"accessibilityData":{"label":"1 година, 12 хвилин і 27 секунд"}},"simpleText":"1:12:27"},"style":"DEFAULT"}},{"thumbnailOverlayToggleButtonRenderer":{"isToggled":false,"untoggledIcon":{"iconType":"WATCH_LATER"},"toggledIcon":{"iconType":"CHECK"},"untoggledTooltip":"Переглянути пізніше","toggledTooltip":"Додано","untoggledServiceEndpoint":{"clickTrackingParams":"CKQBEPnnAxgBIhMIqubh3ZHdiQMVcuxCBR0ETwwA","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/browse/edit_playlist"}},"playlistEditEndpoint":{"playlistId":"WL","actions":[{"addedVideoId":"oUXku28ex-M","action":"ACTION_ADD_VIDEO"}]}},"toggledServiceEndpoint":{"clickTrackingParams":"CKQBEPnnAxgBIhMIqubh3ZHdiQMVcuxCBR0ETwwA","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/browse/edit_playlist"}},"playlistEditEndpoint":{"playlistId":"WL","actions":[{"action":"ACTION_REMOVE_VIDEO_BY_VIDEO_ID","removedVideoId":"oUXku28ex-M"}]}},"untoggledAccessibility":{"accessibilityData":{"label":"Переглянути пізніше"}},"toggledAccessibility":{"accessibilityData":{"label":"Додано"}},"trackingParams":"CKQBEPnnAxgBIhMIqubh3ZHdiQMVcuxCBR0ETwwA"}},{"thumbnailOverlayToggleButtonRenderer":{"untoggledIcon":{"iconType":"ADD_TO_QUEUE_TAIL"},"toggledIcon":{"iconType":"PLAYLIST_ADD_CHECK"},"untoggledTooltip":"Додати в чергу","toggledTooltip":"Додано","untoggledServiceEndpoint":{"clickTrackingParams":"CKMBEMfsBBgCIhMIqubh3ZHdiQMVcuxCBR0ETwwA","commandMetadata":{"webCommandMetadata":{"sendPost":true}},"signalServiceEndpoint":{"signal":"CLIENT_SIGNAL","actions":[{"clickTrackingParams":"CKMBEMfsBBgCIhMIqubh3ZHdiQMVcuxCBR0ETwwA","addToPlaylistCommand":{"openMiniplayer":false,"openListPanel":true,"videoId":"oUXku28ex-M","listType":"PLAYLIST_EDIT_LIST_TYPE_QUEUE","onCreateListCommand":{"clickTrackingParams":"CKMBEMfsBBgCIhMIqubh3ZHdiQMVcuxCBR0ETwwA","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/playlist/create"}},"createPlaylistServiceEndpoint":{"videoIds":["oUXku28ex-M"],"params":"CAQ%3D"}},"videoIds":["oUXku28ex-M"]}}]}},"untoggledAccessibility":{"accessibilityData":{"label":"Додати в чергу"}},"toggledAccessibility":{"accessibilityData":{"label":"Додано"}},"trackingParams":"CKMBEMfsBBgCIhMIqubh3ZHdiQMVcuxCBR0ETwwA"}},{"thumbnailOverlayNowPlayingRenderer":{"text":{"runs":[{"text":"Зараз відтворюється"}]}}}],"accessibility":{"accessibilityData":{"label":"AngularJS: Developing Custom Services (factory vs service vs Provider) – 1 година і 12 хвилин – Перейти до каналу – Tech CBT - 130 тис. переглядів - 8 років тому – відтворити відео"}},"richThumbnail":{"movingThumbnailRenderer":{"movingThumbnailDetails":{"thumbnails":[{"url":"https://i.ytimg.com/an_webp/oUXku28ex-M/mqdefault_6s.webp?du=3000 sqp=CMWD2rkG rs=AOn4CLDDfc5cdquPavSYBgnrPAU0eCYTkg","width":320,"height":180}],"logAsMovingThumbnail":true},"enableHoveredLogging":true,"enableOverlay":true}}}},{"lockupViewModel":{"contentImage":{"collectionThumbnailViewModel":{"primaryThumbnail":{"thumbnailViewModel":{"image":{"sources":[{"url":"https://i.ytimg.com/vi/nO1ROKMjPqI/hqdefault.jpg?sqp=-oaymwEWCKgBEF5IWvKriqkDCQgBFQAAiEIYAQ== rs=AOn4CLASg2BRYjCElU4xZiEwaFRaYj65dQ","width":168,"height":94},{"url":"https://i.ytimg.com/vi/nO1ROKMjPqI/hqdefault.jpg?sqp=-oaymwEXCNACELwBSFryq4qpAwkIARUAAIhCGAE= rs=AOn4CLB6QqxxvsnVT9tJiFU481uouFzdVQ","width":336,"height":188}]},"overlays":[{"thumbnailOverlayBadgeViewModel":{"thumbnailBadges":[{"thumbnailBadgeViewModel":{"icon":{"sources":[{"clientResource":{"imageName":"PLAYLISTS"}}]},"text":"34 відео","badgeStyle":"THUMBNAIL_OVERLAY_BADGE_STYLE_DEFAULT","backgroundColor":{"lightTheme":1119539,"darkTheme":1119539}}}],"position":"THUMBNAIL_OVERLAY_BADGE_POSITION_BOTTOM_END"}},{"thumbnailHoverOverlayViewModel":{"icon":{"sources":[{"clientResource":{"imageName":"PLAY_ALL"}}]},"text":{"content":"Відтворити все","styleRuns":[{"startIndex":0,"length":14}]},"style":"THUMBNAIL_HOVER_OVERLAY_STYLE_COVER"}}],"backgroundColor":{"lightTheme":1975897,"darkTheme":1975897}}},"stackColor":{"lightTheme":7041433,"darkTheme":7764627}}},"metadata":{"lockupMetadataViewModel":{"title":{"content":"Angularjs Tutorial - Complete (Fundamentals to Advanced)"},"metadata":{"contentMetadataViewModel":{"metadataRows":[{"metadataParts":[{"text":{"content":"Tech CBT
#############################