Custom Attribute Directive Directives Angular 12
>> YOUR LINK HERE: ___ http://youtube.com/watch?v=DxfAEhdOl_0
In this lecture, you will learn how to create a Custom attribute directive in Angular. The Angular directives help us to extend or manipulate the DOM. We can change the appearance, behavior, or layout of a DOM element using the directives. • We already learned about Angular's built-in directives like ngIf, ngFor, ngStyle and ngClass in previous lectures of this course. In this lecture, we will create an attribute directive like ngStyle and ngClass. • Let's learn how to create an attribute directive with an example.","styleRuns":[{"startIndex":0,"length":518,"styleRunExtensions":{"styleRunColorMapExtension":{"colorMap":[{"key":"USER_INTERFACE_THEME_DARK","value":4294967295},{"key":"USER_INTERFACE_THEME_LIGHT","value":4279440147}]}},"fontFamilyName":"Roboto"}]},"headerRuns":[{"startIndex":0,"length":518,"headerMapping":"ATTRIBUTED_STRING_HEADER_MAPPING_UNSPECIFIED"}]}},{"itemSectionRenderer":{"contents":[{"continuationItemRenderer":{"trigger":"CONTINUATION_TRIGGER_ON_ITEM_SHOWN","continuationEndpoint":{"clickTrackingParams":"CN8BELsvGAIiEwjWp93mmMiLAxVCWHoFHUO9L4Q=","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/next"}},"continuationCommand":{"token":"Eg0SC0R4ZkFFaGRPbF8wGAYyJSIRIgtEeGZBRWhkT2xfMDAAeAJCEGNvbW1lbnRzLXNlY3Rpb24%3D","request":"CONTINUATION_REQUEST_TYPE_WATCH_NEXT"}}}}],"trackingParams":"CN8BELsvGAIiEwjWp93mmMiLAxVCWHoFHUO9L4Q=","sectionIdentifier":"comment-item-section","targetId":"comments-section"}}],"trackingParams":"CN4BELovIhMI1qfd5pjIiwMVQlh6BR1DvS-E"}},"secondaryResults":{"secondaryResults":{"results":[{"compactVideoRenderer":{"videoId":"7LOu-xF9ML0","thumbnail":{"thumbnails":[{"url":"https://i.ytimg.com/vi/7LOu-xF9ML0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG rs=AOn4CLCu_15B4UYdqsIhws6HnpjkTf-Gwg","width":168,"height":94},{"url":"https://i.ytimg.com/vi/7LOu-xF9ML0/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg== rs=AOn4CLDAiPGyDjbH0nZxYvAMKKp9koMiyA","width":336,"height":188}]},"title":{"accessibility":{"accessibilityData":{"label":"Renderer2 in Angular | Directives | Angular 12+ by procademy 24,578 views 3 years ago 12 minutes, 13 seconds"}},"simpleText":"Renderer2 in Angular | Directives | Angular 12+"},"longBylineText":{"runs":[{"text":"procademy","navigationEndpoint":{"clickTrackingParams":"CNgBEKQwGAAiEwjWp93mmMiLAxVCWHoFHUO9L4QyB3JlbGF0ZWQ=","commandMetadata":{"webCommandMetadata":{"url":"/@procademy","webPageType":"WEB_PAGE_TYPE_CHANNEL","rootVe":3611,"apiUrl":"/youtubei/v1/browse"}},"browseEndpoint":{"browseId":"UC5qYq6IWRqM2SYpIM_9Xp8A","canonicalBaseUrl":"/@procademy"}}}]},"publishedTimeText":{"simpleText":"3 years ago"},"viewCountText":{"simpleText":"24,578 views"},"lengthText":{"accessibility":{"accessibilityData":{"label":"12 minutes, 13 seconds"}},"simpleText":"12:13"},"navigationEndpoint":{"clickTrackingParams":"CNgBEKQwGAAiEwjWp93mmMiLAxVCWHoFHUO9L4QyB3JlbGF0ZWRI_a-6uqGC8IsPmgEFCAEQ-B0=","commandMetadata":{"webCommandMetadata":{"url":"/watch?v=7LOu-xF9ML0","webPageType":"WEB_PAGE_TYPE_WATCH","rootVe":3832}},"watchEndpoint":{"videoId":"7LOu-xF9ML0","nofollow":true,"watchEndpointSupportedOnesieConfig":{"html5PlaybackOnesieConfig":{"commonConfig":{"url":"https://rr1---sn-uxaxiv0nxx5q-nv4l.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=ecb3aefb117d30bd ip=2a02%3A27aa%3A0%3A0%3A0%3A0%3A0%3Ad49 initcwndbps=1255000 mt=1739708482 oweuc="}}}}},"shortBylineText":{"runs":[{"text":"procademy","navigationEndpoint":{"clickTrackingParams":"CNgBEKQwGAAiEwjWp93mmMiLAxVCWHoFHUO9L4QyB3JlbGF0ZWQ=","commandMetadata":{"webCommandMetadata":{"url":"/@procademy","webPageType":"WEB_PAGE_TYPE_CHANNEL","rootVe":3611,"apiUrl":"/youtubei/v1/browse"}},"browseEndpoint":{"browseId":"UC5qYq6IWRqM2SYpIM_9Xp8A","canonicalBaseUrl":"/@procademy"}}}]},"channelThumbnail":{"thumbnails":[{"url":"https://yt3.ggpht.com/kozMhLqd5EUP-NFzFp1DcTUd67xiJ8vam0No6Y9HNYif-n4RhnzTNzUvMncki3oGQnBw86WOUw=s68-c-k-c0x00ffffff-no-rj","width":68,"height":68}]},"trackingParams":"CNgBEKQwGAAiEwjWp93mmMiLAxVCWHoFHUO9L4RAveH0i7Hf69nsAQ==","shortViewCountText":{"accessibility":{"accessibilityData":{"label":"24K views"}},"simpleText":"24K views"},"menu":{"menuRenderer":{"items":[{"menuServiceItemRenderer":{"text":{"runs":[{"text":"Add to queue"}]},"icon":{"iconType":"ADD_TO_QUEUE_TAIL"},"serviceEndpoint":{"clickTrackingParams":"CNwBEP6YBBgGIhMI1qfd5pjIiwMVQlh6BR1DvS-E","commandMetadata":{"webCommandMetadata":{"sendPost":true}},"signalServiceEndpoint":{"signal":"CLIENT_SIGNAL","actions":[{"clickTrackingParams":"CNwBEP6YBBgGIhMI1qfd5pjIiwMVQlh6BR1DvS-E","addToPlaylistCommand":{"openMiniplayer":false,"openListPanel":true,"videoId":"7LOu-xF9ML0","listType":"PLAYLIST_EDIT_LIST_TYPE_QUEUE","onCreateListCommand":{"clickTrackingParams":"CNwBEP6YBBgGIhMI1qfd5pjIiwMVQlh6BR1DvS-E","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/playlist/create"}},"createPlaylistServiceEndpoint":{"videoIds":["7LOu-xF9ML0"],"params":"CAQ%3D"}},"videoIds":["7LOu-xF9ML0"]}},{"clickTrackingParams":"CNwBEP6YBBgGIhMI1qfd5pjIiwMVQlh6BR1DvS-E","openPopupAction":{"popup":{"notificationActionRenderer":{"responseText":{"simpleText":"Added to queue"},"trackingParams":"CN0BELlqIhMI1qfd5pjIiwMVQlh6BR1DvS-E"}},"popupType":"TOAST"}}]}},"trackingParams":"CNwBEP6YBBgGIhMI1qfd5pjIiwMVQlh6BR1DvS-E"}},{"menuServiceItemRenderer":{"text":{"runs":[{"text":"Share"}]},"icon":{"iconType":"SHARE"},"serviceEndpoint":{"clickTrackingParams":"CNgBEKQwGAAiEwjWp93mmMiLAxVCWHoFHUO9L4Q=","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/share/get_share_panel"}},"shareEntityServiceEndpoint":{"serializedShareEntity":"Cgs3TE91LXhGOU1MMA%3D%3D","commands":[{"clickTrackingParams":"CNgBEKQwGAAiEwjWp93mmMiLAxVCWHoFHUO9L4Q=","openPopupAction":{"popup":{"unifiedSharePanelRenderer":{"trackingParams":"CNsBEI5iIhMI1qfd5pjIiwMVQlh6BR1DvS-E","showLoadingSpinner":true}},"popupType":"DIALOG","beReused":true}}]}},"trackingParams":"CNgBEKQwGAAiEwjWp93mmMiLAxVCWHoFHUO9L4Q=","hasSeparator":true}}],"trackingParams":"CNgBEKQwGAAiEwjWp93mmMiLAxVCWHoFHUO9L4Q=","accessibility":{"accessibilityData":{"label":"Action menu"}},"targetId":"watch-related-menu-button"}},"thumbnailOverlays":[{"thumbnailOverlayTimeStatusRenderer":{"text":{"accessibility":{"accessibilityData":{"label":"12 minutes, 13 seconds"}},"simpleText":"12:13"},"style":"DEFAULT"}},{"thumbnailOverlayToggleButtonRenderer":{"isToggled":false,"untoggledIcon":{"iconType":"WATCH_LATER"},"toggledIcon":{"iconType":"CHECK"},"untoggledTooltip":"Watch later","toggledTooltip":"Added","untoggledServiceEndpoint":{"clickTrackingParams":"CNoBEPnnAxgBIhMI1qfd5pjIiwMVQlh6BR1DvS-E","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/browse/edit_playlist"}},"playlistEditEndpoint":{"playlistId":"WL","actions":[{"addedVideoId":"7LOu-xF9ML0","action":"ACTION_ADD_VIDEO"}]}},"toggledServiceEndpoint":{"clickTrackingParams":"CNoBEPnnAxgBIhMI1qfd5pjIiwMVQlh6BR1DvS-E","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/browse/edit_playlist"}},"playlistEditEndpoint":{"playlistId":"WL","actions":[{"action":"ACTION_REMOVE_VIDEO_BY_VIDEO_ID","removedVideoId":"7LOu-xF9ML0"}]}},"untoggledAccessibility":{"accessibilityData":{"label":"Watch later"}},"toggledAccessibility":{"accessibilityData":{"label":"Added"}},"trackingParams":"CNoBEPnnAxgBIhMI1qfd5pjIiwMVQlh6BR1DvS-E"}},{"thumbnailOverlayToggleButtonRenderer":{"untoggledIcon":{"iconType":"ADD_TO_QUEUE_TAIL"},"toggledIcon":{"iconType":"PLAYLIST_ADD_CHECK"},"untoggledTooltip":"Add to queue","toggledTooltip":"Added","untoggledServiceEndpoint":{"clickTrackingParams":"CNkBEMfsBBgCIhMI1qfd5pjIiwMVQlh6BR1DvS-E","commandMetadata":{"webCommandMetadata":{"sendPost":true}},"signalServiceEndpoint":{"signal":"CLIENT_SIGNAL","actions":[{"clickTrackingParams":"CNkBEMfsBBgCIhMI1qfd5pjIiwMVQlh6BR1DvS-E","addToPlaylistCommand":{"openMiniplayer":false,"openListPanel":true,"videoId":"7LOu-xF9ML0","listType":"PLAYLIST_EDIT_LIST_TYPE_QUEUE","onCreateListCommand":{"clickTrackingParams":"CNkBEMfsBBgCIhMI1qfd5pjIiwMVQlh6BR1DvS-E","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/playlist/create"}},"createPlaylistServiceEndpoint":{"videoIds":["7LOu-xF9ML0"],"params":"CAQ%3D"}},"videoIds":["7LOu-xF9ML0"]}}]}},"untoggledAccessibility":{"accessibilityData":{"label":"Add to queue"}},"toggledAccessibility":{"accessibilityData":{"label":"Added"}},"trackingParams":"CNkBEMfsBBgCIhMI1qfd5pjIiwMVQlh6BR1DvS-E"}},{"thumbnailOverlayNowPlayingRenderer":{"text":{"runs":[{"text":"Now playing"}]}}}],"accessibility":{"accessibilityData":{"label":"Renderer2 in Angular | Directives | Angular 12+ - 12 minutes, 13 seconds - Go to channel - procademy - 24K views - 3 years ago - play video"}},"richThumbnail":{"movingThumbnailRenderer":{"movingThumbnailDetails":{"thumbnails":[{"url":"https://i.ytimg.com/an_webp/7LOu-xF9ML0/mqdefault_6s.webp?du=3000 sqp=CJb-xr0G rs=AOn4CLB2QEujSckw2ewzqjRusCUCQmSBVA","width":320,"height":180}],"logAsMovingThumbnail":true},"enableHoveredLogging":true,"enableOverlay":true}}}},{"compactVideoRenderer":{"videoId":"SK-xlWW4pOM","thumbnail":{"thumbnails":[{"url":"https://i.ytimg.com/vi/SK-xlWW4pOM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG rs=AOn4CLAs2TO_PdFD3Ket0uPC_ZuqmB8zgw","width":168,"height":94},{"url":"https://i.ytimg.com/vi/SK-xlWW4pOM/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg== rs=AOn4CLBc1U4c3wTLtRGpLAC_HVaBuwgz5w","width":336,"height":188}]},"title":{"accessibility":{"accessibilityData":{"label":"Angular Directives - Attribute Directive | Structural Directive | Component Directive by Monsterlessons Academy 10,347 views 1 year ago 10 minutes, 48 seconds"}},"simpleText":"Angular Directives - Attribute Directive | Structural Directive | Component Directive"},"longBylineText":{"runs":[{"text":"Monsterlessons Academy","navigationEndpoint":{"clickTrackingParams":"CNIBEKQwGAEiEwjWp93mmMiLAxVCWHoFHUO9L4QyB3JlbGF0ZWQ=","commandMetadata":{"webCommandMetadata":{"url":"/@MonsterlessonsAcademy","webPageType":"WEB_PAGE_TYPE_CHANNEL","rootVe":3611,"apiUrl":"/youtubei/v1/browse"}},"browseEndpoint":{"browseId":"UCssWuTdNCWN4RSF3wHzzjMw","canonicalBaseUrl":"/@MonsterlessonsAcademy"}}}]},"publishedTimeText":{"simpleText":"1 year ago"},"viewCountText":{"simpleText":"10,347 views"},"lengthText":{"accessibility":{"accessibilityData":{"label":"10 minutes, 48 seconds"}},"simpleText":"10:48"},"navigationEndpoint":{"clickTrackingParams":"CNIBEKQwGAEiEwjWp93mmMiLAxVCWHoFHUO9L4QyB3JlbGF0ZWRI_a-6uqGC8IsPmgEFCAEQ-B0=","commandMetadata":{"webCommandMetadata":{"url":"/watch?v=SK-xlWW4pOM","webPageType":"WEB_PAGE_TYPE_WATCH","rootVe":3832}},"watchEndpoint":{"videoId":"SK-xlWW4pOM","nofollow":true,"watchEndpointSupportedOnesieConfig":{"html5PlaybackOnesieConfig":{"commonConfig":{"url":"https://rr4---sn-uxaxiv0nxx5q-nv4l.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=48afb19565b8a4e3 ip=2a02%3A27aa%3A0%3A0%3A0%3A0%3A0%3Ad49 initcwndbps=1255000 mt=1739708482 oweuc="}}}}},"shortBylineText":{"runs":[{"text":"Monsterlessons Academy","navigationEndpoint":{"clickTrackingParams":"CNIBEKQwGAEiEwjWp93mmMiLAxVCWHoFHUO9L4QyB3JlbGF0ZWQ=","commandMetadata":{"webCommandMetadata":{"url":"/@MonsterlessonsAcademy","webPageType":"WEB_PAGE_TYPE_CHANNEL","rootVe":3611,"apiUrl":"/youtubei/v1/browse"}},"browseEndpoint":{"browseId":"UCssWuTdNCWN4RSF3wHzzjMw","canonicalBaseUrl":"/@MonsterlessonsAcademy"}}}]},"channelThumbnail":{"thumbnails":[{"url":"https://yt3.ggpht.com/ytc/AIdro_mS_aN59O1vr2-6jw7W5qtcDDss6m_E4Jx2ZxzPHx_wCg=s68-c-k-c0x00ffffff-no-rj","width":68,"height":68}]},"trackingParams":"CNIBEKQwGAEiEwjWp93mmMiLAxVCWHoFHUO9L4RA48nirday7NdI","shortViewCountText":{"accessibility":{"accessibilityData":{"label":"10K views"}},"simpleText":"10K views"},"menu":{"menuRenderer":{"items":[{"menuServiceItemRenderer":{"text":{"runs":[{"text":"Add to queue"}]},"icon":{"iconType":"ADD_TO_QUEUE_TAIL"},"serviceEndpoint":{"clickTrackingParams":"CNYBEP6YBBgGIhMI1qfd5pjIiwMVQlh6BR1DvS-E","commandMetadata":{"webCommandMetadata":{"sendPost":true}},"signalServiceEndpoint":{"signal":"CLIENT_SIGNAL","actions":[{"clickTrackingParams":"CNYBEP6YBBgGIhMI1qfd5pjIiwMVQlh6BR1DvS-E","addToPlaylistCommand":{"openMiniplayer":false,"openListPanel":true,"videoId":"SK-xlWW4pOM","listType":"PLAYLIST_EDIT_LIST_TYPE_QUEUE","onCreateListCommand":{"clickTrackingParams":"CNYBEP6YBBgGIhMI1qfd5pjIiwMVQlh6BR1DvS-E","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/playlist/create"}},"createPlaylistServiceEndpoint":{"videoIds":["SK-xlWW4pOM"],"params":"CAQ%3D"}},"videoIds":["SK-xlWW4pOM"]}},{"clickTrackingParams":"CNYBEP6YBBgGIhMI1qfd5pjIiwMVQlh6BR1DvS-E","openPopupAction":{"popup":{"notificationActionRenderer":{"responseText":{"simpleText":"Added to queue"},"trackingParams":"CNcBELlqIhMI1qfd5pjIiwMVQlh6BR1DvS-E"}},"popupType":"TOAST"}}]}},"trackingParams":"CNYBEP6YBBgGIhMI1qfd5pjIiwMVQlh6BR1DvS-E"}},{"menuServiceItemRenderer":{"text":{"runs":[{"text":"Share"}]},"icon":{"iconType":"SHARE"},"serviceEndpoint":{"clickTrackingParams":"CNIBEKQwGAEiEwjWp93mmMiLAxVCWHoFHUO9L4Q=","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/share/get_share_panel"}},"shareEntityServiceEndpoint":{"serializedShareEntity":"CgtTSy14bFdXNHBPTQ%3D%3D","commands":[{"clickTrackingParams":"CNIBEKQwGAEiEwjWp93mmMiLAxVCWHoFHUO9L4Q=","openPopupAction":{"popup":{"unifiedSharePanelRenderer":{"trackingParams":"CNUBEI5iIhMI1qfd5pjIiwMVQlh6BR1DvS-E","showLoadingSpinner":true}},"popupType":"DIALOG","beReused":true}}]}},"trackingParams":"CNIBEKQwGAEiEwjWp93mmMiLAxVCWHoFHUO9L4Q=","hasSeparator":true}}],"trackingParams":"CNIBEKQwGAEiEwjWp93mmMiLAxVCWHoFHUO9L4Q=","accessibility":{"accessibilityData":{"label":"Action menu"}}}},"thumbnailOverlays":[{"thumbnailOverlayTimeStatusRenderer":{"text":{"accessibility":{"accessibilityData":{"label":"10 minutes, 48 seconds"}},"simpleText":"10:48"},"style":"DEFAULT"}},{"thumbnailOverlayToggleButtonRenderer":{"isToggled":false,"untoggledIcon":{"iconType":"WATCH_LATER"},"toggledIcon":{"iconType":"CHECK"},"untoggledTooltip":"Watch later","toggledTooltip":"Added","untoggledServiceEndpoint":{"clickTrackingParams":"CNQBEPnnAxgBIhMI1qfd5pjIiwMVQlh6BR1DvS-E","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/browse/edit_playlist"}},"playlistEditEndpoint":{"playlistId":"WL","actions":[{"addedVideoId":"SK-xlWW4pOM","action":"ACTION_ADD_VIDEO"}]}},"toggledServiceEndpoint":{"clickTrackingParams":"CNQBEPnnAxgBIhMI1qfd5pjIiwMVQlh6BR1DvS-E","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/browse/edit_playlist"}},"playlistEditEndpoint":{"playlistId":"WL","actions":[{"action":"ACTION_REMOVE_VIDEO_BY_VIDEO_ID","removedVideoId":"SK-xlWW4pOM"}]}},"untoggledAccessibility":{"accessibilityData":{"label":"Watch later"}},"toggledAccessibility":{"accessibilityData":{"label":"Added"}},"trackingParams":"CNQBEPnnAxgBIhMI1qfd5pjIiwMVQlh6BR1DvS-E"}},{"thumbnailOverlayToggleButtonRenderer":{"untoggledIcon":{"iconType":"ADD_TO_QUEUE_TAIL"},"toggledIcon":{"iconType":"PLAYLIST_ADD_CHECK"},"untoggledTooltip":"Add to queue","toggledTooltip":"Added","untoggledServiceEndpoint":{"clickTrackingParams":"CNMBEMfsBBgCIhMI1qfd5pjIiwMVQlh6BR1DvS-E","commandMetadata":{"webCommandMetadata":{"sendPost":true}},"signalServiceEndpoint":{"signal":"CLIENT_SIGNAL","actions":[{"clickTrackingParams":"CNMBEMfsBBgCIhMI1qfd5pjIiwMVQlh6BR1DvS-E","addToPlaylistCommand":{"openMiniplayer":false,"openListPanel":true,"videoId":"SK-xlWW4pOM","listType":"PLAYLIST_EDIT_LIST_TYPE_QUEUE","onCreateListCommand":{"clickTrackingParams":"CNMBEMfsBBgCIhMI1qfd5pjIiwMVQlh6BR1DvS-E","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/playlist/create"}},"createPlaylistServiceEndpoint":{"videoIds":["SK-xlWW4pOM"],"params":"CAQ%3D"}},"videoIds":["SK-xlWW4pOM"]}}]}},"untoggledAccessibility":{"accessibilityData":{"label":"Add to queue"}},"toggledAccessibility":{"accessibilityData":{"label":"Added"}},"trackingParams":"CNMBEMfsBBgCIhMI1qfd5pjIiwMVQlh6BR1DvS-E"}},{"thumbnailOverlayNowPlayingRenderer":{"text":{"runs":[{"text":"Now playing"}]}}}],"accessibility":{"accessibilityData":{"label":"Angular Directives - Attribute Directive | Structural Directive | Component Directive - 10 minutes, 48 seconds - Go to channel - Monsterlessons Academy - 10K views - 1 year ago - play video"}},"richThumbnail":{"movingThumbnailRenderer":{"movingThumbnailDetails":{"thumbnails":[{"url":"https://i.ytimg.com/an_webp/SK-xlWW4pOM/mqdefault_6s.webp?du=3000 sqp=CJGvx70G rs=AOn4CLDhjUq1Ddw2ArneeKRw9UmdB22Nxw","width":320,"height":180}],"logAsMovingThumbnail":true},"enableHoveredLogging":true,"enableOverlay":true}}}},{"compactVideoRenderer":{"videoId":"0Ywak7Ppszw","thumbnail":{"thumbnails":[{"url":"https://i.ytimg.com/vi/0Ywak7Ppszw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG rs=AOn4CLBmgyO6stu5KkdTVrxpZ199I9jJUg","width":168,"height":94},{"url":"https://i.ytimg.com/vi/0Ywak7Ppszw/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg== rs=AOn4CLBqhEjk8e50uc36gDqoBPyNEPlStw","width":336,"height":188}]},"title":{"accessibility":{"accessibilityData":{"label":"Angular Lifecycle Hook in Action | Lifecycle Hook | Angular 12+ by procademy 38,692 views 3 years ago 29 minutes"}},"simpleText":"Angular Lifecycle Hook in Action | Lifecycle Hook | Angular 12+"},"longBylineText":{"runs":[{"text":"procademy","navigationEndpoint":{"clickTrackingParams":"CMwBEKQwGAIiEwjWp93mmMiLAxVCWHoFHUO9L4QyB3JlbGF0ZWQ=","commandMetadata":{"webCommandMetadata":{"url":"/@procademy","webPageType":"WEB_PAGE_TYPE_CHANNEL","rootVe":3611,"apiUrl":"/youtubei/v1/browse"}},"browseEndpoint":{"browseId":"UC5qYq6IWRqM2SYpIM_9Xp8A","canonicalBaseUrl":"/@procademy"}}}]},"publishedTimeText":{"simpleText":"3 years ago"},"viewCountText":{"simpleText":"38,692 views"},"lengthText":{"accessibility":{"accessibilityData":{"label":"29 minutes, 33 seconds"}},"simpleText":"29:33"},"navigationEndpoint":{"clickTrackingParams":"CMwBEKQwGAIiEwjWp93mmMiLAxVCWHoFHUO9L4QyB3JlbGF0ZWRI_a-6uqGC8IsPmgEFCAEQ-B0=","commandMetadata":{"webCommandMetadata":{"url":"/watch?v=0Ywak7Ppszw","webPageType":"WEB_PAGE_TYPE_WATCH","rootVe":3832}},"watchEndpoint":{"videoId":"0Ywak7Ppszw","nofollow":true,"watchEndpointSupportedOnesieConfig":{"html5PlaybackOnesieConfig":{"commonConfig":{"url":"https://rr1---sn-nvm-cxbz.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=d18c1a93b3e9b33c ip=2a02%3A27aa%3A0%3A0%3A0%3A0%3A0%3Ad49 initcwndbps=888750 mt=1739708482 oweuc="}}}}},"shortBylineText":{"runs":[{"text":"procademy","navigationEndpoint":{"clickTrackingParams":"CMwBEKQwGAIiEwjWp93mmMiLAxVCWHoFHUO9L4QyB3JlbGF0ZWQ=","commandMetadata":{"webCommandMetadata":{"url":"/@procademy","webPageType":"WEB_PAGE_TYPE_CHANNEL","rootVe":3611,"apiUrl":"/youtubei/v1/browse"}},"browseEndpoint":{"browseId":"UC5qYq6IWRqM2SYpIM_9Xp8A","canonicalBaseUrl":"/@procademy"}}}]},"channelThumbnail":{"thumbnails":[{"url":"https://yt3.ggpht.com/kozMhLqd5EUP-NFzFp1DcTUd67xiJ8vam0No6Y9HNYif-n4RhnzTNzUvMncki3oGQnBw86WOUw=s68-c-k-c0x00ffffff-no-rj","width":68,"height":68}]},"trackingParams":"CMwBEKQwGAIiEwjWp93mmMiLAxVCWHoFHUO9L4RAvOamn7vShsbRAQ==","shortViewCountText":{"accessibility":{"accessibilityData":{"label":"38K views"}},"simpleText":"38K views"},"menu":{"menuRenderer":{"items":[{"menuServiceItemRenderer":{"text":{"runs":[{"text":"Add to queue"}]},"icon":{"iconType":"ADD_TO_QUEUE_TAIL"},"serviceEndpoint":{"clickTrackingParams":"CNABEP6YBBgGIhMI1qfd5pjIiwMVQlh6BR1DvS-E","commandMetadata":{"webCommandMetadata":{"sendPost":true}},"signalServiceEndpoint":{"signal":"CLIENT_SIGNAL","actions":[{"clickTrackingParams":"CNABEP6YBBgGIhMI1qfd5pjIiwMVQlh6BR1DvS-E","addToPlaylistCommand":{"openMiniplayer":false,"openListPanel":true,"videoId":"0Ywak7Ppszw","listType":"PLAYLIST_EDIT_LIST_TYPE_QUEUE","onCreateListCommand":{"clickTrackingParams":"CNABEP6YBBgGIhMI1qfd5pjIiwMVQlh6BR1DvS-E","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/playlist/create"}},"createPlaylistServiceEndpoint":{"videoIds":["0Ywak7Ppszw"],"params":"CAQ%3D"}},"videoIds":["0Ywak7Ppszw"]}},{"clickTrackingParams":"CNABEP6YBBgGIhMI1qfd5pjIiwMVQlh6BR1DvS-E","openPopupAction":{"popup":{"notificationActionRenderer":{"responseText":{"simpleText":"Added to queue"},"trackingParams":"CNEBELlqIhMI1qfd5pjIiwMVQlh6BR1DvS-E"}},"popupType":"TOAST"}}]}},"trackingParams":"CNABEP6YBBgGIhMI1qfd5pjIiwMVQlh6BR1DvS-E"}},{"menuServiceItemRenderer":{"text":{"runs":[{"text":"Share"}]},"icon":{"iconType":"SHARE"},"serviceEndpoint":{"clickTrackingParams":"CMwBEKQwGAIiEwjWp93mmMiLAxVCWHoFHUO9L4Q=","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/share/get_share_panel"}},"shareEntityServiceEndpoint":{"serializedShareEntity":"CgswWXdhazdQcHN6dw%3D%3D","commands":[{"clickTrackingParams":"CMwBEKQwGAIiEwjWp93mmMiLAxVCWHoFHUO9L4Q=","openPopupAction":{"popup":{"unifiedSharePanelRenderer":{"trackingParams":"CM8BEI5iIhMI1qfd5pjIiwMVQlh6BR1DvS-E","showLoadingSpinner":true}},"popupType":"DIALOG","beReused":true}}]}},"trackingParams":"CMwBEKQwGAIiEwjWp93mmMiLAxVCWHoFHUO9L4Q=","hasSeparator":true}}],"trackingParams":"CMwBEKQwGAIiEwjWp93mmMiLAxVCWHoFHUO9L4Q=","accessibility":{"accessibilityData":{"label":"Action menu"}}}},"thumbnailOverlays":[{"thumbnailOverlayTimeStatusRenderer":{"text":{"accessibility":{"accessibilityData":{"label":"29 minutes, 33 seconds"}},"simpleText":"29:33"},"style":"DEFAULT"}},{"thumbnailOverlayToggleButtonRenderer":{"isToggled":false,"untoggledIcon":{"iconType":"WATCH_LATER"},"toggledIcon":{"iconType":"CHECK"},"untoggledTooltip":"Watch later","toggledTooltip":"Added","untoggledServiceEndpoint":{"clickTrackingParams":"CM4BEPnnAxgBIhMI1qfd5pjIiwMVQlh6BR1DvS-E","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/browse/edit_playlist"}},"playlistEditEndpoint":{"playlistId":"WL","actions":[{"addedVideoId":"0Ywak7Ppszw","action":"ACTION_ADD_VIDEO"}]}},"toggledServiceEndpoint":{"clickTrackingParams":"CM4BEPnnAxgBIhMI1qfd5pjIiwMVQlh6BR1DvS-E","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/browse/edit_playlist"}},"playlistEditEndpoint":{"playlistId":"WL","actions":[{"action":"ACTION_REMOVE_VIDEO_BY_VIDEO_ID","removedVideoId":"0Ywak7Ppszw"}]}},"untoggledAccessibility":{"accessibilityData":{"label":"Watch later"}},"toggledAccessibility":{"accessibilityData":{"label":"Added"}},"trackingParams":"CM4BEPnnAxgBIhMI1qfd5pjIiwMVQlh6BR1DvS-E"}},{"thumbnailOverlayToggleButtonRenderer":{"untoggledIcon":{"iconType":"ADD_TO_QUEUE_TAIL"},"toggledIcon":{"iconType":"PLAYLIST_ADD_CHECK"},"untoggledTooltip":"Add to queue","toggledTooltip":"Added","untoggledServiceEndpoint":{"clickTrackingParams":"CM0BEMfsBBgCIhMI1qfd5pjIiwMVQlh6BR1DvS-E","commandMetadata":{"webCommandMetadata":{"sendPost":true}},"signalServiceEndpoint":{"signal":"CLIENT_SIGNAL","actions":[{"clickTrackingParams":"CM0BEMfsBBgCIhMI1qfd5pjIiwMVQlh6BR1DvS-E","addToPlaylistCommand":{"openMiniplayer":false,"openListPanel":true,"videoId":"0Ywak7Ppszw","listType":"PLAYLIST_EDIT_LIST_TYPE_QUEUE","onCreateListCommand":{"clickTrackingParams":"CM0BEMfsBBgCIhMI1qfd5pjIiwMVQlh6BR1DvS-E","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/playlist/create"}},"createPlaylistServiceEndpoint":{"videoIds":["0Ywak7Ppszw"],"params":"CAQ%3D"}},"videoIds":["0Ywak7Ppszw"]}}]}},"untoggledAccessibility":{"accessibilityData":{"label":"Add to queue"}},"toggledAccessibility":{"accessibilityData":{"label":"Added"}},"trackingParams":"CM0BEMfsBBgCIhMI1qfd5pjIiwMVQlh6BR1DvS-E"}},{"thumbnailOverlayNowPlayingRenderer":{"text":{"runs":[{"text":"Now playing"}]}}}],"accessibility":{"accessibilityData":{"label":"Angular Lifecycle Hook in Action | Lifecycle Hook | Angular 12+ - 29 minutes - Go to channel - procademy - 38K views - 3 years ago - play video"}},"richThumbnail":{"movingThumbnailRenderer":{"movingThumbnailDetails":{"thumbnails":[{"url":"https://i.ytimg.com/an_webp/0Ywak7Ppszw/mqdefault_6s.webp?du=3000 sqp=CJSVx70G rs=AOn4CLBa3VaiwAltGm6f6_d4f1zSzRkVVg","width":320,"height":180}],"logAsMovingThumbnail":true},"enableHoveredLogging":true,"enableOverlay":true}}}},{"compactVideoRenderer":{"videoId":"vyEuVmEViaw","thumbnail":{"thumbnails":[{"url":"https://i.ytimg.com/vi/vyEuVmEViaw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG rs=AOn4CLCfbqyeOBnYZ-47RsKzSdZ8w0jPhA","width":168,"height":94},{"url":"https://i.ytimg.com/vi/vyEuVmEViaw/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg== rs=AOn4CLADW_Pfj_dRR3dFEUApm6JvJSULFw","width":336,"height":188}]},"title":{"accessibility":{"accessibilityData":{"label":"#47 Custom Attribute Directive | Creating Using Custom Directive | A Complete Angular Course by procademy 21,537 views 1 year ago 18 minutes"}},"simpleText":"#47 Custom Attribute Directive | Creating Using Custom Directive | A Complete Angular Course"},"longBylineText":{"runs":[{"text":"procademy","navigationEndpoint":{"clickTrackingParams":"CMYBEKQwGAMiEwjWp93mmMiLAxVCWHoFHUO9L4QyB3JlbGF0ZWQ=","commandMetadata":{"webCommandMetadata":{"url":"/@procademy","webPageType":"WEB_PAGE_TYPE_CHANNEL","rootVe":3611,"apiUrl":"/youtubei/v1/browse"}},"browseEndpoint":{"browseId":"UC5qYq6IWRqM2SYpIM_9Xp8A","canonicalBaseUrl":"/@procademy"}}}]},"publishedTimeText":{"simpleText":"1 year ago"},"viewCountText":{"simpleText":"21,537 views"},"lengthText":{"accessibility":{"accessibilityData":{"label":"18 minutes, 53 seconds"}},"simpleText":"18:53"},"navigationEndpoint":{"clickTrackingParams":"CMYBEKQwGAMiEwjWp93mmMiLAxVCWHoFHUO9L4QyB3JlbGF0ZWRI_a-6uqGC8IsPmgEFCAEQ-B0=","commandMetadata":{"webCommandMetadata":{"url":"/watch?v=vyEuVmEViaw","webPageType":"WEB_PAGE_TYPE_WATCH","rootVe":3832}},"watchEndpoint":{"videoId":"vyEuVmEViaw","nofollow":true,"watchEndpointSupportedOnesieConfig":{"html5PlaybackOnesieConfig":{"commonConfig":{"url":"https://rr3---sn-uxaxiv0nxx5q-nv4l.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=bf212e56611589ac ip=2a02%3A27aa%3A0%3A0%3A0%3A0%3A0%3Ad49 initcwndbps=1255000 mt=1739708482 oweuc="}}}}},"shortBylineText":{"runs":[{"text":"procademy","navigationEndpoint":{"clickTrackingParams":"CMYBEKQwGAMiEwjWp93mmMiLAxVCWHoFHUO9L4QyB3JlbGF0ZWQ=","commandMetadata":{"webCommandMetadata":{"url":"/@procademy","webPageType":"WEB_PAGE_TYPE_CHANNEL","rootVe":3611,"apiUrl":"/youtubei/v1/browse"}},"browseEndpoint":{"browseId":"UC5qYq6IWRqM2SYpIM_9Xp8A","canonicalBaseUrl":"/@procademy"}}}]},"channelThumbnail":{"thumbnails":[{"url":"https://yt3.ggpht.com/kozMhLqd5EUP-NFzFp1DcTUd67xiJ8vam0No6Y9HNYif-n4RhnzTNzUvMncki3oGQnBw86WOUw=s68-c-k-c0x00ffffff-no-rj","width":68,"height":68}]},"trackingParams":"CMYBEKQwGAMiEwjWp93mmMiLAxVCWHoFHUO9L4RArJPWiObKy5C_AQ==","shortViewCountText":{"accessibility":{"accessibilityData":{"label":"21K views"}},"simpleText":"21K views"},"menu":{"menuRenderer":{"items":[{"menuServiceItemRenderer":{"text":{"runs":[{"text":"Add to queue"}]},"icon":{"iconType":"ADD_TO_QUEUE_TAIL"},"serviceEndpoint":{"clickTrackingParams":"CMoBEP6YBBgGIhMI1qfd5pjIiwMVQlh6BR1DvS-E","commandMetadata":{"webCommandMetadata":{"sendPost":true}},"signalServiceEndpoint":{"signal":"CLIENT_SIGNAL","actions":[{"clickTrackingParams":"CMoBEP6YBBgGIhMI1qfd5pjIiwMVQlh6BR1DvS-E","addToPlaylistCommand":{"openMiniplayer":false,"openListPanel":true,"videoId":"vyEuVmEViaw","listType":"PLAYLIST_EDIT_LIST_TYPE_QUEUE","onCreateListCommand":{"clickTrackingParams":"CMoBEP6YBBgGIhMI1qfd5pjIiwMVQlh6BR1DvS-E","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/playlist/create"}},"createPlaylistServiceEndpoint":{"videoIds":["vyEuVmEViaw"],"params":"CAQ%3D"}},"videoIds":["vyEuVmEViaw"]}},{"clickTrackingParams":"CMoBEP6YBBgGIhMI1qfd5pjIiwMVQlh6BR1DvS-E","openPopupAction":{"popup":{"notificationActionRenderer":{"responseText":{"simpleText":"Added to queue"},"trackingParams":"CMsBELlqIhMI1qfd5pjIiwMVQlh6BR1DvS-E"}},"popupType":"TOAST"}}]}},"trackingParams":"CMoBEP6YBBgGIhMI1qfd5pjIiwMVQlh6BR1DvS-E"}},{"menuServiceItemRenderer":{"text":{"runs":[{"text":"Share"}]},"icon":{"iconType":"SHARE"},"serviceEndpoint":{"clickTrackingParams":"CMYBEKQwGAMiEwjWp93mmMiLAxVCWHoFHUO9L4Q=","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/share/get_share_panel"}},"shareEntityServiceEndpoint":{"serializedShareEntity":"Cgt2eUV1Vm1FVmlhdw%3D%3D","commands":[{"clickTrackingParams":"CMYBEKQwGAMiEwjWp93mmMiLAxVCWHoFHUO9L4Q=","openPopupAction":{"popup":{"unifiedSharePanelRenderer":{"trackingParams":"CMkBEI5iIhMI1qfd5pjIiwMVQlh6BR1DvS-E","showLoadingSpinner":true}},"popupType":"DIALOG","beReused":true}}]}},"trackingParams":"CMYBEKQwGAMiEwjWp93mmMiLAxVCWHoFHUO9L4Q=","hasSeparator":true}}],"trackingParams":"CMYBEKQwGAMiEwjWp93mmMiLAxVCWHoFHUO9L4Q=","accessibility":{"accessibilityData":{"label":"Action menu"}}}},"thumbnailOverlays":[{"thumbnailOverlayTimeStatusRenderer":{"text":{"accessibility":{"accessibilityData":{"label":"18 minutes, 53 seconds"}},"simpleText":"18:53"},"style":"DEFAULT"}},{"thumbnailOverlayToggleButtonRenderer":{"isToggled":false,"untoggledIcon":{"iconType":"WATCH_LATER"},"toggledIcon":{"iconType":"CHECK"},"untoggledTooltip":"Watch later","toggledTooltip":"Added","untoggledServiceEndpoint":{"clickTrackingParams":"CMgBEPnnAxgBIhMI1qfd5pjIiwMVQlh6BR1DvS-E","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/browse/edit_playlist"}},"playlistEditEndpoint":{"playlistId":"WL","actions":[{"addedVideoId":"vyEuVmEViaw","action":"ACTION_ADD_VIDEO"}]}},"toggledServiceEndpoint":{"clickTrackingParams":"CMgBEPnnAxgBIhMI1qfd5pjIiwMVQlh6BR1DvS-E","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/browse/edit_playlist"}},"playlistEditEndpoint":{"playlistId":"WL","actions":[{"action":"ACTION_REMOVE_VIDEO_BY_VIDEO_ID","removedVideoId":"vyEuVmEViaw"}]}},"untoggledAccessibility":{"accessibilityData":{"label":"Watch later"}},"toggledAccessibility":{"accessibilityData":{"label":"Added"}},"trackingParams":"CMgBEPnnAxgBIhMI1qfd5pjIiwMVQlh6BR1DvS-E"}},{"thumbnailOverlayToggleButtonRenderer":{"untoggledIcon":{"iconType":"ADD_TO_QUEUE_TAIL"},"toggledIcon":{"iconType":"PLAYLIST_ADD_CHECK"},"untoggledTooltip":"Add to queue","toggledTooltip":"Added","untoggledServiceEndpoint":{"clickTrackingParams":"CMcBEMfsBBgCIhMI1qfd5pjIiwMVQlh6BR1DvS-E","commandMetadata":{"webCommandMetadata":{"sendPost":true}},"signalServiceEndpoint":{"signal":"CLIENT_SIGNAL","actions":[{"clickTrackingParams":"CMcBEMfsBBgCIhMI1qfd5pjIiwMVQlh6BR1DvS-E","addToPlaylistCommand":{"openMiniplayer":false,"openListPanel":true,"videoId":"vyEuVmEViaw","listType":"PLAYLIST_EDIT_LIST_TYPE_QUEUE","onCreateListCommand":{"clickTrackingParams":"CMcBEMfsBBgCIhMI1qfd5pjIiwMVQlh6BR1DvS-E","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/playlist/create"}},"createPlaylistServiceEndpoint":{"videoIds":["vyEuVmEViaw"],"params":"CAQ%3D"}},"videoIds":["vyEuVmEViaw"]}}]}},"untoggledAccessibility":{"accessibilityData":{"label":"Add to queue"}},"toggledAccessibility":{"accessibilityData":{"label":"Added"}},"trackingParams":"CMcBEMfsBBgCIhMI1qfd5pjIiwMVQlh6BR1DvS-E"}},{"thumbnailOverlayNowPlayingRenderer":{"text":{"runs":[{"text":"Now playing"}]}}}],"accessibility":{"accessibilityData":{"label":"#47 Custom Attribute Directive | Creating Using Custom Directive | A Complete Angular Course - 18 minutes - Go to channel - procademy - 21K views - 1 year ago - play video"}},"richThumbnail":{"movingThumbnailRenderer":{"movingThumbnailDetails":{"thumbnails":[{"url":"https://i.ytimg.com/an_webp/vyEuVmEViaw/mqdefault_6s.webp?du=3000 sqp=COiEx70G rs=AOn4CLD_95AMy7FjGPBJK5PJdk90JfAKIg","width":320,"height":180}],"logAsMovingThumbnail":true},"enableHoveredLogging":true,"enableOverlay":true}}}},{"compactVideoRenderer":{"videoId":"LtT01ZCHRjk","thumbnail":{"thumbnails":[{"url":"https://i.ytimg.com/vi/LtT01ZCHRjk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG rs=AOn4CLCy79QoP9tqGHSwmhZ3zxK7JfRBCQ","width":168,"height":94},{"url":"https://i.ytimg.com/vi/LtT01ZCHRjk/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg== rs=AOn4CLDdTn9m2owZCcE6Fql5LNnqC8Hgeg","width":336,"height":188}]},"title":{"accessibility":{"accessibilityData":{"label":"Directives in Angular Applications by Programming with Mosh 183,262 views 7 years ago 25 minutes"}},"simpleText":"Directives in Angular Applications"},"longBylineText":{"runs":[{"text":"Programming with Mosh","navigationEndpoint":{"clickTrackingParams":"CMABEKQwGAQiEwjWp93mmMiLAxVCWHoFHUO9L4QyB3JlbGF0ZWQ=","commandMetadata":{"webCommandMetadata":{"url":"/@programmingwithmosh","webPageType":"WEB_PAGE_TYPE_CHANNEL","rootVe":3611,"apiUrl":"/youtubei/v1/browse"}},"browseEndpoint":{"browseId":"UCWv7vMbMWH4-V0ZXdmDpPBA","canonicalBaseUrl":"/@programmingwithmosh"}}}]},"publishedTimeText":{"simpleText":"7 years ago"},"viewCountText":{"simpleText":"183,262 views"},"lengthText":{"accessibility":{"accessibilityData":{"label":"25 minutes, 13 seconds"}},"simpleText":"25:13"},"navigationEndpoint":{"clickTrackingParams":"CMABEKQwGAQiEwjWp93mmMiLAxVCWHoFHUO9L4QyB3JlbGF0ZWRI_a-6uqGC8IsPmgEFCAEQ-B0=","commandMetadata":{"webCommandMetadata":{"url":"/watch?v=LtT01ZCHRjk","webPageType":"WEB_PAGE_TYPE_WATCH","rootVe":3832}},"watchEndpoint":{"videoId":"LtT01ZCHRjk","nofollow":true,"watchEndpointSupportedOnesieConfig":{"html5PlaybackOnesieConfig":{"commonConfig":{"url":"https://rr1---sn-nvm-cxbz.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=2ed4f4d590874639 ip=2a02%3A27aa%3A0%3A0%3A0%3A0%3A0%3Ad49 initcwndbps=888750 mt=1739708482 oweuc="}}}}},"shortBylineText":{"runs":[{"text":"Programming with Mosh","navigationEndpoint":{"clickTrackingParams":"CMABEKQwGAQiEwjWp93mmMiLAxVCWHoFHUO9L4QyB3JlbGF0ZWQ=","commandMetadata":{"webCommandMetadata":{"url":"/@programmingwithmosh","webPageType":"WEB_PAGE_TYPE_CHANNEL","rootVe":3611,"apiUrl":"/youtubei/v1/browse"}},"browseEndpoint":{"browseId":"UCWv7vMbMWH4-V0ZXdmDpPBA","canonicalBaseUrl":"/@programmingwithmosh"}}}]},"channelThumbnail":{"thumbnails":[{"url":"https://yt3.ggpht.com/EXprkFw6nOZgxD2Qf3mPCO3StHkyfdp6Jc8WTPQiZJl13lOmRAgH4FuhTYItT36Pw6-6IEAtnA=s68-c-k-c0x00ffffff-no-rj","width":68,"height":68}]},"ownerBadges":[{"metadataBadgeRenderer":{"icon":{"iconType":"CHECK_CIRCLE_THICK"},"style":"BADGE_STYLE_TYPE_VERIFIED","tooltip":"Verified","trackingParams":"CMABEKQwGAQiEwjWp93mmMiLAxVCWHoFHUO9L4Q=","accessibilityData":{"label":"Verified"}}}],"trackingParams":"CMABEKQwGAQiEwjWp93mmMiLAxVCWHoFHUO9L4RAuYydhNmaveou","shortViewCountText":{"accessibility":{"accessibilityData":{"label":"183K views"}},"simpleText":"183K views"},"menu":{"menuRenderer":{"items":[{"menuServiceItemRenderer":{"text":{"runs":[{"text":"Add to queue"}]},"icon":{"iconType":"ADD_TO_QUEUE_TAIL"},"serviceEndpoint":{"clickTrackingParams":"CMQBEP6YBBgHIhMI1qfd5pjIiwMVQlh6BR1DvS-E","commandMetadata":{"webCommandMetadata":{"sendPost":true}},"signalServiceEndpoint":{"signal":"CLIENT_SIGNAL","actions":[{"clickTrackingParams":"CMQBEP6YBBgHIhMI1qfd5pjIiwMVQlh6BR1DvS-E","addToPlaylistCommand":{"openMiniplayer":false,"openListPanel":true,"videoId":"LtT01ZCHRjk","listType":"PLAYLIST_EDIT_LIST_TYPE_QUEUE","onCreateListCommand":{"clickTrackingParams":"CMQBEP6YBBgHIhMI1qfd5pjIiwMVQlh6BR1DvS-E","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/playlist/create"}},"createPlaylistServiceEndpoint":{"videoIds":["LtT01ZCHRjk"],"params":"CAQ%3D"}},"videoIds":["LtT01ZCHRjk"]}},{"clickTrackingParams":"CMQBEP6YBBgHIhMI1qfd5pjIiwMVQlh6BR1DvS-E","openPopupAction":{"popup":{"notificationActionRenderer":{"responseText":{"simpleText":"Added to queue"},"trackingParams":"CMUBELlqIhMI1qfd5pjIiwMVQlh6BR1DvS-E"}},"popupType":"TOAST"}}]}},"trackingParams":"CMQBEP6YBBgHIhMI1qfd5pjIiwMVQlh6BR1DvS-E"}},{"menuServiceItemRenderer":{"text":{"runs":[{"text":"Share"}]},"icon":{"iconType":"SHARE"},"serviceEndpoint":{"clickTrackingParams":"CMABEKQwGAQiEwjWp93mmMiLAxVCWHoFHUO9L4Q=","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/share/get_share_panel"}},"shareEntityServiceEndpoint":{"serializedShareEntity":"CgtMdFQwMVpDSFJqaw%3D%3D","commands":[{"clickTrackingParams":"CMABEKQwGAQiEwjWp93mmMiLAxVCWHoFHUO9L4Q=","openPopupAction":{"popup":{"unifiedSharePanelRenderer":{"trackingParams":"CMMBEI5iIhMI1qfd5pjIiwMVQlh6BR1DvS-E","showLoadingSpinner":true}},"popupType":"DIALOG","beReused":true}}]}},"trackingParams":"CMABEKQwGAQiEwjWp93mmMiLAxVCWHoFHUO9L4Q=","hasSeparator":true}}],"trackingParams":"CMABEKQwGAQiEwjWp93mmMiLAxVCWHoFHUO9L4Q=","accessibility":{"accessibilityData":{"label":"Action menu"}}}},"thumbnailOverlays":[{"thumbnailOverlayTimeStatusRenderer":{"text":{"accessibility":{"accessibilityData":{"label":"25 minutes, 13 seconds"}},"simpleText":"25:13"},"style":"DEFAULT"}},{"thumbnailOverlayToggleButtonRenderer":{"isToggled":false,"untoggledIcon":{"iconType":"WATCH_LATER"},"toggledIcon":{"iconType":"CHECK"},"untoggledTooltip":"Watch later","toggledTooltip":"Added","untoggledServiceEndpoint":{"clickTrackingParams":"CMIBEPnnAxgCIhMI1qfd5pjIiwMVQlh6BR1DvS-E","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/browse/edit_playlist"}},"playlistEditEndpoint":{"playlistId":"WL","actions":[{"addedVideoId":"LtT01ZCHRjk","action":"ACTION_ADD_VIDEO"}]}},"toggledServiceEndpoint":{"clickTrackingParams":"CMIBEPnnAxgCIhMI1qfd5pjIiwMVQlh6BR1DvS-E","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/browse/edit_playlist"}},"playlistEditEndpoint":{"playlistId":"WL","actions":[{"action":"ACTION_REMOVE_VIDEO_BY_VIDEO_ID","removedVideoId":"LtT01ZCHRjk"}]}},"untoggledAccessibility":{"accessibilityData":{"label":"Watch later"}},"toggledAccessibility":{"accessibilityData":{"label":"Added"}},"trackingParams":"CMIBEPnnAxgCIhMI1qfd5pjIiwMVQlh6BR1DvS-E"}},{"thumbnailOverlayToggleButtonRenderer":{"untoggledIcon":{"iconType":"ADD_TO_QUEUE_TAIL"},"toggledIcon":{"iconType":"PLAYLIST_ADD_CHECK"},"untoggledTooltip":"Add to queue","toggledTooltip":"Added","untoggledServiceEndpoint":{"clickTrackingParams":"CMEBEMfsBBgDIhMI1qfd5pjIiwMVQlh6BR1DvS-E","commandMetadata":{"webCommandMetadata":{"sendPost":true}},"signalServiceEndpoint":{"signal":"CLIENT_SIGNAL","actions":[{"clickTrackingParams":"CMEBEMfsBBgDIhMI1qfd5pjIiwMVQlh6BR1DvS-E","addToPlaylistCommand":{"openMiniplayer":false,"openListPanel":true,"videoId":"LtT01ZCHRjk","listType":"PLAYLIST_EDIT_LIST_TYPE_QUEUE","onCreateListCommand":{"clickTrackingParams":"CMEBEMfsBBgDIhMI1qfd5pjIiwMVQlh6BR1DvS-E","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/playlist/create"}},"createPlaylistServiceEndpoint":{"videoIds":["LtT01ZCHRjk"],"params":"CAQ%3D"}},"videoIds":["LtT01ZCHRjk"]}}]}},"untoggledAccessibility":{"accessibilityData":{"label":"Add to queue"}},"toggledAccessibility":{"accessibilityData":{"label":"Added"}},"trackingParams":"CMEBEMfsBBgDIhMI1qfd5pjIiwMVQlh6BR1DvS-E"}},{"thumbnailOverlayNowPlayingRenderer":{"text":{"runs":[{"text":"Now playing"}]}}}],"accessibility":{"accessibilityData":{"label":"Directives in Angular Applications - 25 minutes - Go to channel - Programming with Mosh - 183K views - 7 years ago - play video"}},"richThumbnail":{"movingThumbnailRenderer":{"movingThumbnailDetails":{"thumbnails":[{"url":"https://i.ytimg.com/an_webp/LtT01ZCHRjk/mqdefault_6s.webp?du=3000 sqp=CJGMx70G rs=AOn4CLAmdfLgLwDUaL-deG-7jmvDVr_h-w","width":320,"height":180}],"logAsMovingThumbnail":true},"enableHoveredLogging":true,"enableOverlay":true}}}},{"compactVideoRenderer":{"videoId":"c_HBIqXMDuY","thumbnail":{"thumbnails":[{"url":"https://i.ytimg.com/vi/c_HBIqXMDuY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG rs=AOn4CLCVYHgHF9T9eUJflv74mJ6Tp2Kq_Q","width":168,"height":94},{"url":"https://i.ytimg.com/vi/c_HBIqXMDuY/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg== rs=AOn4CLDesn0G6ebjgVXjXBQGFBpgS6tL-Q","width":336,"height":188}]},"title":{"accessibility":{"accessibilityData":{"label":"فیلم کمدی و جدید سال گربه با بازی تماشایی بهرام افشاری / بهترین کمدی سال رو از دست ندید😍 by TPM - Top Persian Movies 160,763 views 4 days ago 1 hour, 47 minutes"}},"simpleText":"فیلم کمدی و جدید سال گربه با بازی تماشایی بهرام افشاری / بهترین کمدی سال رو از دست ندید😍"},"longBylineText":{"runs":[{"text":"TPM - Top Persian Movies","navigationEndpoint":{"clickTrackingParams":"CLoBEKQwGAUiEwjWp93mmMiLAxVCWHoFHUO9L4QyB3JlbGF0ZWQ=","commandMetadata":{"webCommandMetadata":{"url":"/@TopPersianMovies","webPageType":"WEB_PAGE_TYPE_CHANNEL","rootVe":3611,"apiUrl":"/youtubei/v1/browse"}},"browseEndpoint":{"browseId":"UCxelJIiHJoGR270g8FqtfJA","canonicalBaseUrl":"/@TopPersianMovies"}}}]},"publishedTimeText":{"simpleText":"4 days ago"},"viewCountText":{"simpleText":"160,763 views"},"lengthText":{"accessibility":{"accessibilityData":{"label":"1 hour, 47 minutes, 49 seconds"}},"simpleText":"1:47:49"},"navigationEndpoint":{"clickTrackingParams":"CLoBEKQwGAUiEwjWp93mmMiLAxVCWHoFHUO9L4QyB3JlbGF0ZWRI_a-6uqGC8IsPmgEFCAEQ-B0=","commandMetadata":{"webCommandMetadata":{"url":"/watch?v=c_HBIqXMDuY","webPageType":"WEB_PAGE_TYPE_WATCH","rootVe":3832}},"watchEndpoint":{"videoId":"c_HBIqXMDuY","nofollow":true,"watchEndpointSupportedOnesieConfig":{"html5PlaybackOnesieConfig":{"commonConfig":{"url":"https://rr3---sn-nvm-cxbz.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=73f1c122a5cc0ee6 ip=2a02%3A27aa%3A0%3A0%3A0%3A0%3A0%3Ad49 initcwndbps=888750 mt=1739708482 oweuc="}}}}},"shortBylineText":{"runs":[{"text":"TPM - Top Persian Movies","navigationEndpoint":{"clickTrackingParams":"CLoBEKQwGAUiEwjWp93mmMiLAxVCWHoFHUO9L4QyB3JlbGF0ZWQ=","commandMetadata":{"webCommandMetadata":{"url":"/@TopPersianMovies","webPageType":"WEB_PAGE_TYPE_CHANNEL","rootVe":3611,"apiUrl":"/youtubei/v1/browse"}},"browseEndpoint":{"browseId":"UCxelJIiHJoGR270g8FqtfJA","canonicalBaseUrl":"/@TopPersianMovies"}}}]},"badges":[{"metadataBadgeRenderer":{"style":"BADGE_STYLE_TYPE_SIMPLE","label":"New","trackingParams":"CLoBEKQwGAUiEwjWp93mmMiLAxVCWHoFHUO9L4Q="}}],"channelThumbnail":{"thumbnails":[{"url":"https://yt3.ggpht.com/CXBf-XGRc2ZmjNHdFZHYYra0cmgddQ48Qp0-r2SWFZS7OevK1xJClZKIt4GCFtObvhP-yHDSxx0=s68-c-k-c0x00ffffff-no-rj","width":68,"height":68}]},"ownerBadges":[{"metadataBadgeRenderer":{"icon":{"iconType":"CHECK_CIRCLE_THICK"},"style":"BADGE_STYLE_TYPE_VERIFIED","tooltip":"Verified","trackingParams":"CLoBEKQwGAUiEwjWp93mmMiLAxVCWHoFHUO9L4Q=","accessibilityData":{"label":"Verified"}}}],"trackingParams":"CLoBEKQwGAUiEwjWp93mmMiLAxVCWHoFHUO9L4RA5p2wrqqk8Phz","shortViewCountText":{"accessibility":{"accessibilityData":{"label":"160K views"}},"simpleText":"160K views"},"menu":{"menuRenderer":{"items":[{"menuServiceItemRenderer":{"text":{"runs":[{"text":"Add to queue"}]},"icon":{"iconType":"ADD_TO_QUEUE_TAIL"},"serviceEndpoint":{"clickTrackingParams":"CL4BEP6YBBgIIhMI1qfd5pjIiwMVQlh6BR1DvS-E","commandMetadata":{"webCommandMetadata":{"sendPost":true}},"signalServiceEndpoint":{"signal":"CLIENT_SIGNAL","actions":[{"clickTrackingParams":"CL4BEP6YBBgIIhMI1qfd5pjIiwMVQlh6BR1DvS-E","addToPlaylistCommand":{"openMiniplayer":false,"openListPanel":true,"videoId":"c_HBIqXMDuY","listType":"PLAYLIST_EDIT_LIST_TYPE_QUEUE","onCreateListCommand":{"clickTrackingParams":"CL4BEP6YBBgIIhMI1qfd5pjIiwMVQlh6BR1DvS-E","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/playlist/create"}},"createPlaylistServiceEndpoint":{"videoIds":["c_HBIqXMDuY"],"params":"CAQ%3D"}},"videoIds":["c_HBIqXMDuY"]}},{"clickTrackingParams":"CL4BEP6YBBgIIhMI1qfd5pjIiwMVQlh6BR1DvS-E","openPopupAction":{"popup":{"notificationActionRenderer":{"responseText":{"simpleText":"Added to queue"},"trackingParams":"CL8BELlqIhMI1qfd5pjIiwMVQlh6BR1DvS-E"}},"popupType":"TOAST"}}]}},"trackingParams":"CL4BEP6YBBgIIhMI1qfd5pjIiwMVQlh6BR1DvS-E"}},{"menuServiceItemRenderer":{"text":{"runs":[{"text":"Share"}]},"icon":{"iconType":"SHARE"},"serviceEndpoint":{"clickTrackingParams":"CLoBEKQwGAUiEwjWp93mmMiLAxVCWHoFHUO9L4Q=","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/share/get_share_panel"}},"shareEntityServiceEndpoint":{"serializedShareEntity":"CgtjX0hCSXFYTUR1WQ%3D%3D","commands":[{"clickTrackingParams":"CLoBEKQwGAUiEwjWp93mmMiLAxVCWHoFHUO9L4Q=","openPopupAction":{"popup":{"unifiedSharePanelRenderer":{"trackingParams":"CL0BEI5iIhMI1qfd5pjIiwMVQlh6BR1DvS-E","showLoadingSpinner":true}},"popupType":"DIALOG","beReused":true}}]}},"trackingParams":"CLoBEKQwGAUiEwjWp93mmMiLAxVCWHoFHUO9L4Q=","hasSeparator":true}}],"trackingParams":"CLoBEKQwGAUiEwjWp93mmMiLAxVCWHoFHUO9L4Q=","accessibility":{"accessibilityData":{"label":"Action menu"}}}},"thumbnailOverlays":[{"thumbnailOverlayTimeStatusRenderer":{"text":{"accessibility":{"accessibilityData":{"label":"1 hour, 47 minutes, 49 seconds"}},"simpleText":"1:47:49"},"style":"DEFAULT"}},{"thumbnailOverlayToggleButtonRenderer":{"isToggled":false,"untoggledIcon":{"iconType":"WATCH_LATER"},"toggledIcon":{"iconType":"CHECK"},"untoggledTooltip":"Watch later","toggledTooltip":"Added","untoggledServiceEndpoint":{"clickTrackingParams":"CLwBEPnnAxgDIhMI1qfd5pjIiwMVQlh6BR1DvS-E","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/browse/edit_playlist"}},"playlistEditEndpoint":{"playlistId":"WL","actions":[{"addedVideoId":"c_HBIqXMDuY","action":"ACTION_ADD_VIDEO"}]}},"toggledServiceEndpoint":{"clickTrackingParams":"CLwBEPnnAxgDIhMI1qfd5pjIiwMVQlh6BR1DvS-E","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/browse/edit_playlist"}},"playlistEditEndpoint":{"playlistId":"WL","actions":[{"action":"ACTION_REMOVE_VIDEO_BY_VIDEO_ID","removedVideoId":"c_HBIqXMDuY"}]}},"untoggledAccessibility":{"accessibilityData":{"label":"Watch later"}},"toggledAccessibility":{"accessibilityData":{"label":"Added"}},"trackingParams":"CLwBEPnnAxgDIhMI1qfd5pjIiwMVQlh6BR1DvS-E"}},{"thumbnailOverlayToggleButtonRenderer":{"untoggledIcon":{"iconType":"ADD_TO_QUEUE_TAIL"},"toggledIcon":{"iconType":"PLAYLIST_ADD_CHECK"},"untoggledTooltip":"Add to queue","toggledTooltip":"Added","untoggledServiceEndpoint":{"clickTrackingParams":"CLsBEMfsBBgEIhMI1qfd5pjIiwMVQlh6BR1DvS-E","commandMetadata":{"webCommandMetadata":{"sendPost":true}},"signalServiceEndpoint":{"signal":"CLIENT_SIGNAL","actions":[{"clickTrackingParams":"CLsBEMfsBBgEIhMI1qfd5pjIiwMVQlh6BR1DvS-E","addToPlaylistCommand":{"openMiniplayer":false,"openListPanel":true,"videoId":"c_HBIqXMDuY","listType":"PLAYLIST_EDIT_LIST_TYPE_QUEUE","onCreateListCommand":{"clickTrackingParams":"CLsBEMfsBBgEIhMI1qfd5pjIiwMVQlh6BR1DvS-E","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/playlist/create"}},"createPlaylistServiceEndpoint":{"videoIds":["c_HBIqXMDuY"],"params":"CAQ%3D"}},"videoIds":["c_HBIqXMDuY"]}}]}},"untoggledAccessibility":{"accessibilityData":{"label":"Add to queue"}},"toggledAccessibility":{"accessibilityData":{"label":"Added"}},"trackingParams":"CLsBEMfsBBgEIhMI1qfd5pjIiwMVQlh6BR1DvS-E"}},{"thumbnailOverlayNowPlayingRenderer":{"text":{"runs":[{"text":"Now playing"}]}}}],"accessibility":{"accessibilityData":{"label":"فیلم کمدی و جدید سال گربه با بازی تماشایی بهرام افشاری / بهترین کمدی سال رو از دست ندید😍 - 1 hour, 47 minutes - Go to channel - TPM - Top Persian Movies - 160K views - 4 days ago - play video"}},"richThumbnail":{"movingThumbnailRenderer":{"movingThumbnailDetails":{"thumbnails":[{"url":"https://i.ytimg.com/an_webp/c_HBIqXMDuY/mqdefault_6s.webp?du=3000 sqp=CJajx70G rs=AOn4CLCKZqdW7OXSaEcY6ejJYFn63ohM-w","width":320,"height":180}],"logAsMovingThumbnail":true},"enableHoveredLogging":true,"enableOverlay":true}}}},{"compactVideoRenderer":{"videoId":"CLlL0NW24h8","thumbnail":{"thumbnails":[{"url":"https://i.ytimg.com/vi/CLlL0NW24h8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG rs=AOn4CLBg4hEglnfM63xYiLMap1OcUwzUtg","width":168,"height":94},{"url":"https://i.ytimg.com/vi/CLlL0NW24h8/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg== rs=AOn4CLC1i5bU4YYaiqjygqPKfWZQbEHZSA","width":336,"height":188}]},"title":{"accessibility":{"accessibilityData":{"label":"32. Create Basic Custom attribute Directive in Angular by Leela Web Dev 24,753 views 4 years ago 12 minutes, 14 seconds"}},"simpleText":"32. Create Basic Custom attribute Directive in Angular"},"longBylineText":{"runs":[{"text":"Leela Web Dev","navigationEndpoint":{"clickTrackingParams":"CLQBEKQwGAYiEwjWp93mmMiLAxVCWHoFHUO9L4QyB3JlbGF0ZWQ=","commandMetadata":{"webCommandMetadata":{"url":"/@LeelaWebDev","webPageType":"WEB_PAGE_TYPE_CHANNEL","rootVe":3611,"apiUrl":"/youtubei/v1/browse"}},"browseEndpoint":{"browseId":"UC1J-YH25LCjvLnFjy7WDqGA","canonicalBaseUrl":"/@LeelaWebDev"}}}]},"publishedTimeText":{"simpleText":"4 years ago"},"viewCountText":{"simpleText":"24,753 views"},"lengthText":{"accessibility":{"accessibilityData":{"label":"12 minutes, 14 seconds"}},"simpleText":"12:14"},"navigationEndpoint":{"clickTrackingParams":"CLQBEKQwGAYiEwjWp93mmMiLAxVCWHoFHUO9L4QyB3JlbGF0ZWRI_a-6uqGC8IsPmgEFCAEQ-B0=","commandMetadata":{"webCommandMetadata":{"url":"/watch?v=CLlL0NW24h8","webPageType":"WEB_PAGE_TYPE_WATCH","rootVe":3832}},"watchEndpoint":{"videoId":"CLlL0NW24h8","nofollow":true,"watchEndpointSupportedOnesieConfig":{"html5PlaybackOnesieConfig":{"commonConfig":{"url":"https://rr3---sn-uxaxiv0nxx5q-nv4l.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=08b94bd0d5b6e21f ip=2a02%3A27aa%3A0%3A0%3A0%3A0%3A0%3Ad49 initcwndbps=1255000 mt=1739708482 oweuc="}}}}},"shortBylineText":{"runs":[{"text":"Leela Web Dev","navigationEndpoint":{"clickTrackingParams":"CLQBEKQwGAYiEwjWp93mmMiLAxVCWHoFHUO9L4QyB3JlbGF0ZWQ=","commandMetadata":{"webCommandMetadata":{"url":"/@LeelaWebDev","webPageType":"WEB_PAGE_TYPE_CHANNEL","rootVe":3611,"apiUrl":"/youtubei/v1/browse"}},"browseEndpoint":{"browseId":"UC1J-YH25LCjvLnFjy7WDqGA","canonicalBaseUrl":"/@LeelaWebDev"}}}]},"channelThumbnail":{"thumbnails":[{"url":"https://yt3.ggpht.com/ytc/AIdro_lyNS1TZTir31YGZYMfa1GzR2JPZkVceBYIdOZIvzgWDQ=s68-c-k-c0x00ffffff-no-rj","width":68,"height":68}]},"trackingParams":"CLQBEKQwGAYiEwjWp93mmMiLAxVCWHoFHUO9L4RAn8TbrY360twI","shortViewCountText":{"accessibility":{"accessibilityData":{"label":"24K views"}},"simpleText":"24K views"},"menu":{"menuRenderer":{"items":[{"menuServiceItemRenderer":{"text":{"runs":[{"text":"Add to queue"}]},"icon":{"iconType":"ADD_TO_QUEUE_TAIL"},"serviceEndpoint":{"clickTrackingParams":"CLgBEP6YBBgGIhMI1qfd5pjIiwMVQlh6BR1DvS-E","commandMetadata":{"webCommandMetadata":{"sendPost":true}},"signalServiceEndpoint":{"signal":"CLIENT_SIGNAL","actions":[{"clickTrackingParams":"CLgBEP6YBBgGIhMI1qfd5pjIiwMVQlh6BR1DvS-E","addToPlaylistCommand":{"openMiniplayer":false,"openListPanel":true,"videoId":"CLlL0NW24h8","listType":"PLAYLIST_EDIT_LIST_TYPE_QUEUE","onCreateListCommand":{"clickTrackingParams":"CLgBEP6YBBgGIhMI1qfd5pjIiwMVQlh6BR1DvS-E","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/playlist/create"}},"createPlaylistServiceEndpoint":{"videoIds":["CLlL0NW24h8"],"params":"CAQ%3D"}},"videoIds":["CLlL0NW24h8"]}},{"clickTrackingParams":"CLgBEP6YBBgGIhMI1qfd5pjIiwMVQlh6BR1DvS-E","openPopupAction":{"popup":{"notificationActionRenderer":{"responseText":{"simpleText":"Added to queue"},"trackingParams":"CLkBELlqIhMI1qfd5pjIiwMVQlh6BR1DvS-E"}},"popupType":"TOAST"}}]}},"trackingParams":"CLgBEP6YBBgGIhMI1qfd5pjIiwMVQlh6BR1DvS-E"}},{"menuServiceItemRenderer":{"text":{"runs":[{"text":"Share"}]},"icon":{"iconType":"SHARE"},"serviceEndpoint":{"clickTrackingParams":"CLQBEKQwGAYiEwjWp93mmMiLAxVCWHoFHUO9L4Q=","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/share/get_share_panel"}},"shareEntityServiceEndpoint":{"serializedShareEntity":"CgtDTGxMME5XMjRoOA%3D%3D","commands":[{"clickTrackingParams":"CLQBEKQwGAYiEwjWp93mmMiLAxVCWHoFHUO9L4Q=","openPopupAction":{"popup":{"unifiedSharePanelRenderer":{"trackingParams":"CLcBEI5iIhMI1qfd5pjIiwMVQlh6BR1DvS-E","showLoadingSpinner":true}},"popupType":"DIALOG","beReused":true}}]}},"trackingParams":"CLQBEKQwGAYiEwjWp93mmMiLAxVCWHoFHUO9L4Q=","hasSeparator":true}}],"trackingParams":"CLQBEKQwGAYiEwjWp93mmMiLAxVCWHoFHUO9L4Q=","accessibility":{"accessibilityData":{"label":"Action menu"}}}},"thumbnailOverlays":[{"thumbnailOverlayTimeStatusRenderer":{"text":{"accessibility":{"accessibilityData":{"label":"12 minutes, 14 seconds"}},"simpleText":"12:14"},"style":"DEFAULT"}},{"thumbnailOverlayToggleButtonRenderer":{"isToggled":false,"untoggledIcon":{"iconType":"WATCH_LATER"},"toggledIcon":{"iconType":"CHECK"},"untoggledTooltip":"Watch later","toggledTooltip":"Added","untoggledServiceEndpoint":{"clickTrackingParams":"CLYBEPnnAxgBIhMI1qfd5pjIiwMVQlh6BR1DvS-E","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/browse/edit_playlist"}},"playlistEditEndpoint":{"playlistId":"WL","actions":[{"addedVideoId":"CLlL0NW24h8","action":"ACTION_ADD_VIDEO"}]}},"toggledServiceEndpoint":{"clickTrackingParams":"CLYBEPnnAxgBIhMI1qfd5pjIiwMVQlh6BR1DvS-E","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/browse/edit_playlist"}},"playlistEditEndpoint":{"playlistId":"WL","actions":[{"action":"ACTION_REMOVE_VIDEO_BY_VIDEO_ID","removedVideoId":"CLlL0NW24h8"}]}},"untoggledAccessibility":{"accessibilityData":{"label":"Watch later"}},"toggledAccessibility":{"accessibilityData":{"label":"Added"}},"trackingParams":"CLYBEPnnAxgBIhMI1qfd5pjIiwMVQlh6BR1DvS-E"}},{"thumbnailOverlayToggleButtonRenderer":{"untoggledIcon":{"iconType":"ADD_TO_QUEUE_TAIL"},"toggledIcon":{"iconType":"PLAYLIST_ADD_CHECK"},"untoggledTooltip":"Add to queue","toggledTooltip":"Added","untoggledServiceEndpoint":{"clickTrackingParams":"CLUBEMfsBBgCIhMI1qfd5pjIiwMVQlh6BR1DvS-E","commandMetadata":{"webCommandMetadata":{"sendPost":true}},"signalServiceEndpoint":{"signal":"CLIENT_SIGNAL","actions":[{"clickTrackingParams":"CLUBEMfsBBgCIhMI1qfd5pjIiwMVQlh6BR1DvS-E","addToPlaylistCommand":{"openMiniplayer":false,"openListPanel":true,"videoId":"CLlL0NW24h8","listType":"PLAYLIST_EDIT_LIST_TYPE_QUEUE","onCreateListCommand":{"clickTrackingParams":"CLUBEMfsBBgCIhMI1qfd5pjIiwMVQlh6BR1DvS-E","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/playlist/create"}},"createPlaylistServiceEndpoint":{"videoIds":["CLlL0NW24h8"],"params":"CAQ%3D"}},"videoIds":["CLlL0NW24h8"]}}]}},"untoggledAccessibility":{"accessibilityData":{"label":"Add to queue"}},"toggledAccessibility":{"accessibilityData":{"label":"Added"}},"trackingParams":"CLUBEMfsBBgCIhMI1qfd5pjIiwMVQlh6BR1DvS-E"}},{"thumbnailOverlayNowPlayingRenderer":{"text":{"runs":[{"text":"Now playing"}]}}}],"accessibility":{"accessibilityData":{"label":"32. Create Basic Custom attribute Directive in Angular - 12 minutes, 14 seconds - Go to channel - Leela Web Dev - 24K views - 4 years ago - play video"}},"richThumbnail":{"movingThumbnailRenderer":{"movingThumbnailDetails":{"thumbnails":[{"url":"https://i.ytimg.com/an_webp/CLlL0NW24h8/mqdefault_6s.webp?du=3000 sqp=CNqNx70G rs=AOn4CLBouBawLGcg2F83eCHom6HSrhxLFA","width":320,"height":180}],"logAsMovingThumbnail":true},"enableHoveredLogging":true,"enableOverlay":true}}}},{"compactVideoRenderer":{"videoId":"_quyWq4NnRM","thumbnail":{"thumbnails":[{"url":"https://i.ytimg.com/vi/_quyWq4NnRM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG rs=AOn4CLBBwl_smAtCRBy3TIKUEkV8EpzLTw","width":168,"height":94},{"url":"https://i.ytimg.com/vi/_quyWq4NnRM/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg== rs=AOn4CLAc8Vu130a1AGcfW9_DRJ8QGdvlbg","width":336,"height":188}]},"title":{"accessibility":{"accessibilityData":{"label":"Why I decided to switch to the inject() function in Angular by Joshua Morony 64,585 views 1 year ago 6 minutes, 10 seconds"}},"simpleText":"Why I decided to switch to the inject() function in Angular"},"longBylineText":{"runs":[{"text":"Joshua Morony","navigationEndpoint":{"clickTrackingParams":"CK4BEKQwGAciEwjWp93mmMiLAxVCWHoFHUO9L4QyB3JlbGF0ZWQ=","commandMetadata":{"webCommandMetadata":{"url":"/@JoshuaMorony","webPageType":"WEB_PAGE_TYPE_CHANNEL","rootVe":3611,"apiUrl":"/youtubei/v1/browse"}},"browseEndpoint":{"browseId":"UCbVZdLngJH6KOJvpAOO3qTw","canonicalBaseUrl":"/@JoshuaMorony"}}}]},"publishedTimeText":{"simpleText":"1 year ago"},"viewCountText":{"simpleText":"64,585 views"},"lengthText":{"accessibility":{"accessibilityData":{"label":"6 minutes, 10 seconds"}},"simpleText":"6:10"},"navigationEndpoint":{"clickTrackingParams":"CK4BEKQwGAciEwjWp93mmMiLAxVCWHoFHUO9L4QyB3JlbGF0ZWRI_a-6uqGC8IsPmgEFCAEQ-B0=","commandMetadata":{"webCommandMetadata":{"url":"/watch?v=_quyWq4NnRM","webPageType":"WEB_PAGE_TYPE_WATCH","rootVe":3832}},"watchEndpoint":{"videoId":"_quyWq4NnRM","nofollow":true,"watchEndpointSupportedOnesieConfig":{"html5PlaybackOnesieConfig":{"commonConfig":{"url":"https://rr2---sn-uxaxiv0nxx5q-nv4l.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=feabb25aae0d9d13 ip=2a02%3A27aa%3A0%3A0%3A0%3A0%3A0%3Ad49 initcwndbps=1255000 mt=1739708482 oweuc="}}}}},"shortBylineText":{"runs":[{"text":"Joshua Morony","navigationEndpoint":{"clickTrackingParams":"CK4BEKQwGAciEwjWp93mmMiLAxVCWHoFHUO9L4QyB3JlbGF0ZWQ=","commandMetadata":{"webCommandMetadata":{"url":"/@JoshuaMorony","webPageType":"WEB_PAGE_TYPE_CHANNEL","rootVe":3611,"apiUrl":"/youtubei/v1/browse"}},"browseEndpoint":{"browseId":"UCbVZdLngJH6KOJvpAOO3qTw","canonicalBaseUrl":"/@JoshuaMorony"}}}]},"channelThumbnail":{"thumbnails":[{"url":"https://yt3.ggpht.com/ytc/AIdro_k8my_tmix5ihzXepDQ78FiMtvv-nZCU2Ld8mrxn5s6vR4=s68-c-k-c0x00ffffff-no-rj","width":68,"height":68}]},"trackingParams":"CK4BEKQwGAciEwjWp93mmMiLAxVCWHoFHUO9L4RAk7q28KrL7NX-AQ==","shortViewCountText":{"accessibility":{"accessibilityData":{"label":"64K views"}},"simpleText":"64K views"},"menu":{"menuRenderer":{"items":[{"menuServiceItemRenderer":{"text":{"runs":[{"text":"Add to queue"}]},"icon":{"iconType":"ADD_TO_QUEUE_TAIL"},"serviceEndpoint":{"clickTrackingParams":"CLIBEP6YBBgGIhMI1qfd5pjIiwMVQlh6BR1DvS-E","commandMetadata":{"webCommandMetadata":{"sendPost":true}},"signalServiceEndpoint":{"signal":"CLIENT_SIGNAL","actions":[{"clickTrackingParams":"CLIBEP6YBBgGIhMI1qfd5pjIiwMVQlh6BR1DvS-E","addToPlaylistCommand":{"openMiniplayer":false,"openListPanel":true,"videoId":"_quyWq4NnRM","listType":"PLAYLIST_EDIT_LIST_TYPE_QUEUE","onCreateListCommand":{"clickTrackingParams":"CLIBEP6YBBgGIhMI1qfd5pjIiwMVQlh6BR1DvS-E","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/playlist/create"}},"createPlaylistServiceEndpoint":{"videoIds":["_quyWq4NnRM"],"params":"CAQ%3D"}},"videoIds":["_quyWq4NnRM"]}},{"clickTrackingParams":"CLIBEP6YBBgGIhMI1qfd5pjIiwMVQlh6BR1DvS-E","openPopupAction":{"popup":{"notificationActionRenderer":{"responseText":{"simpleText":"Added to queue"},"trackingParams":"CLMBELlqIhMI1qfd5pjIiwMVQlh6BR1DvS-E"}},"popupType":"TOAST"}}]}},"trackingParams":"CLIBEP6YBBgGIhMI1qfd5pjIiwMVQlh6BR1DvS-E"}},{"menuServiceItemRenderer":{"text":{"runs":[{"text":"Share"}]},"icon":{"iconType":"SHARE"},"serviceEndpoint":{"clickTrackingParams":"CK4BEKQwGAciEwjWp93mmMiLAxVCWHoFHUO9L4Q=","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/share/get_share_panel"}},"shareEntityServiceEndpoint":{"serializedShareEntity":"CgtfcXV5V3E0Tm5STQ%3D%3D","commands":[{"clickTrackingParams":"CK4BEKQwGAciEwjWp93mmMiLAxVCWHoFHUO9L4Q=","openPopupAction":{"popup":{"unifiedSharePanelRenderer":{"trackingParams":"CLEBEI5iIhMI1qfd5pjIiwMVQlh6BR1DvS-E","showLoadingSpinner":true}},"popupType":"DIALOG","beReused":true}}]}},"trackingParams":"CK4BEKQwGAciEwjWp93mmMiLAxVCWHoFHUO9L4Q=","hasSeparator":true}}],"trackingParams":"CK4BEKQwGAciEwjWp93mmMiLAxVCWHoFHUO9L4Q=","accessibility":{"accessibilityData":{"label":"Action menu"}}}},"thumbnailOverlays":[{"thumbnailOverlayTimeStatusRenderer":{"text":{"accessibility":{"accessibilityData":{"label":"6 minutes, 10 seconds"}},"simpleText":"6:10"},"style":"DEFAULT"}},{"thumbnailOverlayToggleButtonRenderer":{"isToggled":false,"untoggledIcon":{"iconType":"WATCH_LATER"},"toggledIcon":{"iconType":"CHECK"},"untoggledTooltip":"Watch later","toggledTooltip":"Added","untoggledServiceEndpoint":{"clickTrackingParams":"CLABEPnnAxgBIhMI1qfd5pjIiwMVQlh6BR1DvS-E","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/browse/edit_playlist"}},"playlistEditEndpoint":{"playlistId":"WL","actions":[{"addedVideoId":"_quyWq4NnRM","action":"ACTION_ADD_VIDEO"}]}},"toggledServiceEndpoint":{"clickTrackingParams":"CLABEPnnAxgBIhMI1qfd5pjIiwMVQlh6BR1DvS-E","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/browse/edit_playlist"}},"playlistEditEndpoint":{"playlistId":"WL","actions":[{"action":"ACTION_REMOVE_VIDEO_BY_VIDEO_ID","removedVideoId":"_quyWq4NnRM"}]}},"untoggledAccessibility":{"accessibilityData":{"label":"Watch later"}},"toggledAccessibility":{"accessibilityData":{"label":"Added"}},"trackingParams":"CLABEPnnAxgBIhMI1qfd5pjIiwMVQlh6BR1DvS-E"}},{"thumbnailOverlayToggleButtonRenderer":{"untoggledIcon":{"iconType":"ADD_TO_QUEUE_TAIL"},"toggledIcon":{"iconType":"PLAYLIST_ADD_CHECK"},"untoggledTooltip":"Add to queue","toggledTooltip":"Added","untoggledServiceEndpoint":{"clickTrackingParams":"CK8BEMfsBBgCIhMI1qfd5pjIiwMVQlh6BR1DvS-E","commandMetadata":{"webCommandMetadata":{"sendPost":true}},"signalServiceEndpoint":{"signal":"CLIENT_SIGNAL","actions":[{"clickTrackingParams":"CK8BEMfsBBgCIhMI1qfd5pjIiwMVQlh6BR1DvS-E","addToPlaylistCommand":{"openMiniplayer":false,"openListPanel":true,"videoId":"_quyWq4NnRM","listType":"PLAYLIST_EDIT_LIST_TYPE_QUEUE","onCreateListCommand":{"clickTrackingParams":"CK8BEMfsBBgCIhMI1qfd5pjIiwMVQlh6BR1DvS-E","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/playlist/create"}},"createPlaylistServiceEndpoint":{"videoIds":["_quyWq4NnRM"],"params":"CAQ%3D"}},"videoIds":["_quyWq4NnRM"]}}]}},"untoggledAccessibility":{"accessibilityData":{"label":"Add to queue"}},"toggledAccessibility":{"accessibilityData":{"label":"Added"}},"trackingParams":"CK8BEMfsBBgCIhMI1qfd5pjIiwMVQlh6BR1DvS-E"}},{"thumbnailOverlayNowPlayingRenderer":{"text":{"runs":[{"text":"Now playing"}]}}}],"accessibility":{"accessibilityData":{"label":"Why I decided to switch to the inject() function in Angular - 6 minutes, 10 seconds - Go to channel - Joshua Morony - 64K views - 1 year ago - play video"}},"richThumbnail":{"movingThumbnailRenderer":{"movingThumbnailDetails":{"thumbnails":[{"url":"https://i.ytimg.com/an_webp/_quyWq4NnRM/mqdefault_6s.webp?du=3000 sqp=CJatx70G rs=AOn4CLA65g2PZ_RkEaXM3OJ70nOJ1VnGaA","width":320,"height":180}],"logAsMovingThumbnail":true},"enableHoveredLogging":true,"enableOverlay":true}}}},{"lockupViewModel":{"contentImage":{"collectionThumbnailViewModel":{"primaryThumbnail":{"thumbnailViewModel":{"image":{"sources":[{"url":"https://i.ytimg.com/vi/NMzl2pGOK_8/hqdefault.jpg?sqp=-oaymwEWCKgBEF5IWvKriqkDCQgBFQAAiEIYAQ== rs=AOn4CLBvdmfl3sjhio_VoYM76uFeImrg8w","width":168,"height":94},{"url":"https://i.ytimg.com/vi/NMzl2pGOK_8/hqdefault.jpg?sqp=-oaymwEXCNACELwBSFryq4qpAwkIARUAAIhCGAE= rs=AOn4CLBvzKXFHWezRr6Sv7OoDviuJhBlnw","width":336,"height":188}]},"overlays":[{"thumbnailOverlayBadgeViewModel":{"thumbnailBadges":[{"thumbnailBadgeViewModel":{"icon":{"sources":[{"clientResource":{"imageName":"PLAYLISTS"}}]},"text":"105 videos","badgeStyle":"THUMBNAIL_OVERLAY_BADGE_STYLE_DEFAULT","backgroundColor":{"lightTheme":2436403,"darkTheme":2436403}}}],"position":"THUMBNAIL_OVERLAY_BADGE_POSITION_BOTTOM_END"}},{"thumbnailHoverOverlayViewModel":{"icon":{"sources":[{"clientResource":{"imageName":"PLAY_ALL"}}]},"text":{"content":"Play all","styleRuns":[{"startIndex":0,"length":8}]},"style":"THUMBNAIL_HOVER_OVERLAY_STYLE_COVER"}}],"backgroundColor":{"lightTheme":3029311,"darkTheme":3029311}}},"stackColor":{"lightTheme":7309465,"darkTheme":7768211}}},"metadata":{"lockupMetadataViewModel":{"title":{"content":"Complete Angular 13 Course Step by Step"},"metadata":{"contentMetadataViewModel":{"metadataRows":[{"metadataParts":[{"text":{"content":"procademy
#############################
![](http://youtor.org/essay_main.png)