{"id":16345,"date":"2023-04-07T13:00:22","date_gmt":"2023-04-07T09:30:22","guid":{"rendered":"https:\/\/nabfollower.com\/blog\/angular-the-framework-of-past-present-and-future-87d\/"},"modified":"2023-04-07T13:00:22","modified_gmt":"2023-04-07T09:30:22","slug":"angular-the-framework-of-past-present-and-future-87d","status":"publish","type":"post","link":"https:\/\/nabfollower.com\/blog\/angular-the-framework-of-past-present-and-future-87d\/","title":{"rendered":"Angular: \u0686\u0627\u0631\u0686\u0648\u0628 \u06af\u0630\u0634\u062a\u0647\u060c \u062d\u0627\u0644 \u0648 \u0622\u06cc\u0646\u062f\u0647"},"content":{"rendered":"<div data-article-id=\"1371920\" id=\"article-body\">\n<p>\u0639\u06a9\u0633 \u062f\u0631\u0648 \u0628\u06cc\u0645\u0631 \u062f\u0631 Unsplash<\/p>\n<p>\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Angular \u0631\u0627 \u062f\u0631 \u0633\u0627\u0644 2017 \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u0646\u0633\u062e\u0647 4 \u0645\u0646\u062a\u0634\u0631 \u0634\u062f \u0634\u0631\u0648\u0639 \u06a9\u0631\u062f\u0645.  \u0648 \u0645\u0646 \u0627\u0632 \u0622\u0646 \u0632\u0645\u0627\u0646 \u0634\u0627\u0647\u062f \u0631\u0634\u062f \u0627\u06cc\u0646 \u0686\u0627\u0631\u0686\u0648\u0628 \u0628\u0648\u062f\u0645.  \u062f\u0631 \u0627\u06cc\u0646 \u0648\u0628\u0644\u0627\u06af\u060c \u0628\u06cc\u0627\u06cc\u06cc\u062f \u0628\u0628\u06cc\u0646\u06cc\u0645 \u06a9\u0647 \u0686\u0631\u0627 Angular \u0686\u0627\u0631\u0686\u0648\u0628\u06cc \u0627\u0632 \u06af\u0630\u0634\u062a\u0647\u060c \u062d\u0627\u0644 \u0648 \u0622\u06cc\u0646\u062f\u0647 \u0627\u0633\u062a.<\/p>\n<p>AngularJS \u062f\u0631 \u0633\u0627\u0644 2010 \u0645\u0646\u062a\u0634\u0631 \u0634\u062f \u0648 \u06cc\u06a9\u06cc \u0627\u0632 \u0627\u0648\u0644\u06cc\u0646 \u0641\u0631\u06cc\u0645 \u0648\u0631\u06a9 \u0647\u0627\u06cc \u0641\u0631\u0627\u0646\u062a \u0627\u0646\u062f \u0645\u0646\u0628\u0639 \u0628\u0627\u0632 \u06af\u0648\u06af\u0644 \u0628\u0648\u062f.  \u0645\u0646\u0628\u0639 \u0628\u0627\u0632 \u0628\u0648\u062f \u0648 \u0628\u0647 \u0645\u062f\u062a 12 \u0633\u0627\u0644 \u0632\u0646\u062f\u06af\u06cc \u06a9\u0631\u062f \u062a\u0627 \u0627\u06cc\u0646\u06a9\u0647 \u062f\u0631 \u0633\u0627\u0644 2022 \u0628\u0647 \u067e\u0627\u06cc\u0627\u0646 \u0639\u0645\u0631 \u062e\u0648\u062f \u0631\u0633\u06cc\u062f.<\/p>\n<p>AngularJS \u0631\u0627\u0647 \u062c\u062f\u06cc\u062f\u06cc \u0628\u0631\u0627\u06cc \u0646\u0648\u0634\u062a\u0646 \u0642\u0627\u0644\u0628 \u0647\u0627\u06cc html \u0645\u0639\u0631\u0641\u06cc \u06a9\u0631\u062f.  \u062f\u0633\u062a\u0648\u0631\u0627\u0644\u0639\u0645\u0644 \u0647\u0627\u06cc\u06cc \u0645\u0627\u0646\u0646\u062f &#8220;ng-for\u060c ng-if&#8221; \u0631\u0627 \u0645\u0639\u0631\u0641\u06cc \u06a9\u0631\u062f \u06a9\u0647 \u0631\u0627\u0647 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0628\u0633\u06cc\u0627\u0631\u06cc \u0627\u0632 \u0641\u0631\u06cc\u0645\u0648\u0631\u06a9 \u0647\u0627 \u0648 \u0645\u0648\u062a\u0648\u0631\u0647\u0627\u06cc \u0631\u0646\u062f\u0631 \u062f\u06cc\u06af\u0631 \u0647\u0645\u0648\u0627\u0631 \u06a9\u0631\u062f.<\/p>\n<p>\u062a\u06cc\u0645 AngularJS \u0628\u0647 \u0633\u0631\u0639\u062a \u0645\u062a\u0648\u062c\u0647 \u0634\u062f \u06a9\u0647 \u062d\u0641\u0638 \u06cc\u06a9 \u067e\u0627\u06cc\u06af\u0627\u0647 \u06a9\u062f \u06af\u0633\u062a\u0631\u062f\u0647 \u0646\u0648\u0634\u062a\u0647 \u0634\u062f\u0647 \u062f\u0631 \u062c\u0627\u0648\u0627 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u062f\u0634\u0648\u0627\u0631 \u0627\u0633\u062a.  \u0648 \u0628\u0627\u0632\u0646\u0648\u06cc\u0633\u06cc AngularJS \u0628\u0647 \u0646\u0627\u0645 Angular \u062f\u0631 \u0633\u0627\u0644 2014 \u0627\u0639\u0644\u0627\u0645 \u0634\u062f.<\/p>\n<p>Angular \u0628\u0647 \u062f\u0644\u06cc\u0644 \u063a\u0648\u0627\u0635\u06cc \u0639\u0645\u06cc\u0642 \u062f\u0631 \u0627\u0628\u0632\u0627\u0631\u0647\u0627\u06cc \u0645\u0648\u062c\u0648\u062f \u0642\u0628\u0644 \u0627\u0632 \u0627\u0646\u062a\u062e\u0627\u0628 \u0628\u0647\u062a\u0631\u06cc\u0646 \u0647\u0627 \u0628\u0631\u0627\u06cc \u06a9\u0627\u0631 \u0634\u0646\u0627\u062e\u062a\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a.  \u0628\u06cc\u0627\u06cc\u06cc\u062f \u0627\u0628\u0632\u0627\u0631\u0647\u0627\u06cc \u0627\u0646\u062a\u062e\u0627\u0628 \u0634\u062f\u0647 \u062a\u0648\u0633\u0637 \u062a\u06cc\u0645 Angular \u0631\u0627 \u062f\u0631 \u0637\u0648\u0644 \u0633\u0627\u0644 \u0647\u0627 \u0628\u0628\u06cc\u0646\u06cc\u0645.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 counter-hierarchy ez-toc-counter-rtl ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">\u0641\u0647\u0631\u0633\u062a \u0645\u0637\u0627\u0644\u0628<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"\u062a\u063a\u06cc\u06cc\u0631 \u0648\u0636\u0639\u06cc\u062a \u0641\u0647\u0631\u0633\u062a \u0645\u0637\u0627\u0644\u0628\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/nabfollower.com\/blog\/angular-the-framework-of-past-present-and-future-87d\/#%DA%AF%D8%B0%D8%B4%D8%AA%D9%87\" >\u06af\u0630\u0634\u062a\u0647<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/nabfollower.com\/blog\/angular-the-framework-of-past-present-and-future-87d\/#%D8%AD%D8%A7%D8%B6%D8%B1\" >\u062d\u0627\u0636\u0631<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/nabfollower.com\/blog\/angular-the-framework-of-past-present-and-future-87d\/#%D8%A2%DB%8C%D9%86%D8%AF%D9%87\" >\u0622\u06cc\u0646\u062f\u0647<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/nabfollower.com\/blog\/angular-the-framework-of-past-present-and-future-87d\/#%DA%AF%D8%B0%D8%B4%D8%AA%D9%87-2\" >\u06af\u0630\u0634\u062a\u0647<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/nabfollower.com\/blog\/angular-the-framework-of-past-present-and-future-87d\/#%D8%AD%D8%A7%D8%B6%D8%B1-2\" >\u062d\u0627\u0636\u0631<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/nabfollower.com\/blog\/angular-the-framework-of-past-present-and-future-87d\/#%D8%A2%DB%8C%D9%86%D8%AF%D9%87-2\" >\u0622\u06cc\u0646\u062f\u0647<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/nabfollower.com\/blog\/angular-the-framework-of-past-present-and-future-87d\/#%DA%AF%D8%B0%D8%B4%D8%AA%D9%87-3\" >\u06af\u0630\u0634\u062a\u0647<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/nabfollower.com\/blog\/angular-the-framework-of-past-present-and-future-87d\/#%D8%AD%D8%A7%D8%B6%D8%B1-3\" >\u062d\u0627\u0636\u0631<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/nabfollower.com\/blog\/angular-the-framework-of-past-present-and-future-87d\/#%D8%A2%DB%8C%D9%86%D8%AF%D9%87-3\" >\u0622\u06cc\u0646\u062f\u0647<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/nabfollower.com\/blog\/angular-the-framework-of-past-present-and-future-87d\/#%D8%B9%D9%85%D9%84%DA%A9%D8%B1%D8%AF_%D8%AA%D8%B2%D8%B1%DB%8C%D9%82\" >\u0639\u0645\u0644\u06a9\u0631\u062f \u062a\u0632\u0631\u06cc\u0642<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/nabfollower.com\/blog\/angular-the-framework-of-past-present-and-future-87d\/#%D8%A7%D8%AC%D8%B2%D8%A7%DB%8C_%D9%85%D8%B3%D8%AA%D9%82%D9%84\" >\u0627\u062c\u0632\u0627\u06cc \u0645\u0633\u062a\u0642\u0644<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/nabfollower.com\/blog\/angular-the-framework-of-past-present-and-future-87d\/#API%D9%87%D8%A7%DB%8C_%D9%85%D8%B3%D8%AA%D9%82%D9%84\" >API\u0647\u0627\u06cc \u0645\u0633\u062a\u0642\u0644<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/nabfollower.com\/blog\/angular-the-framework-of-past-present-and-future-87d\/#%D9%85%D9%87%D8%A7%D8%AC%D8%B1%D8%AA_%D8%A7%D8%AC%D8%B2%D8%A7%DB%8C_%D9%85%D8%B3%D8%AA%D9%82%D9%84\" >\u0645\u0647\u0627\u062c\u0631\u062a \u0627\u062c\u0632\u0627\u06cc \u0645\u0633\u062a\u0642\u0644<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/nabfollower.com\/blog\/angular-the-framework-of-past-present-and-future-87d\/#%D9%85%D8%AD%D8%A7%D9%81%D8%B8_%D9%87%D8%A7%DB%8C_%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D8%AF%DB%8C\" >\u0645\u062d\u0627\u0641\u0638 \u0647\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/nabfollower.com\/blog\/angular-the-framework-of-past-present-and-future-87d\/#%D8%AF%D8%B3%D8%AA%D9%88%D8%B1%D8%A7%D9%84%D8%B9%D9%85%D9%84_%D8%AC%D8%AF%DB%8C%D8%AF_%D8%AA%D8%B5%D9%88%DB%8C%D8%B1\" >\u062f\u0633\u062a\u0648\u0631\u0627\u0644\u0639\u0645\u0644 \u062c\u062f\u06cc\u062f \u062a\u0635\u0648\u06cc\u0631<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/nabfollower.com\/blog\/angular-the-framework-of-past-present-and-future-87d\/#ZoneJS_%D8%A7%D8%AE%D8%AA%DB%8C%D8%A7%D8%B1%DB%8C\" >ZoneJS \u0627\u062e\u062a\u06cc\u0627\u0631\u06cc<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/nabfollower.com\/blog\/angular-the-framework-of-past-present-and-future-87d\/#SSR_%D9%88_%D9%87%DB%8C%D8%AF%D8%B1%D8%A7%D8%AA%D8%A7%D8%B3%DB%8C%D9%88%D9%86\" >SSR \u0648 \u0647\u06cc\u062f\u0631\u0627\u062a\u0627\u0633\u06cc\u0648\u0646<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/nabfollower.com\/blog\/angular-the-framework-of-past-present-and-future-87d\/#%D9%81%D8%B1%D9%85_%D9%87%D8%A7%DB%8C_%D8%AA%D8%A7%DB%8C%D9%BE_%D8%B4%D8%AF%D9%87\" >\u0641\u0631\u0645 \u0647\u0627\u06cc \u062a\u0627\u06cc\u067e \u0634\u062f\u0647<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"%DA%AF%D8%B0%D8%B4%D8%AA%D9%87\"><\/span>\n<p>  \u06af\u0630\u0634\u062a\u0647<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u062a\u0648\u0633\u0639\u0647 Angular \u0634\u0631\u0648\u0639 \u0634\u062f\u060c \u062a\u06cc\u0645 Angular \u062a\u0635\u0645\u06cc\u0645 \u06af\u0631\u0641\u062a \u0627\u0632 \u0622\u0646 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u062f <strong>\u062a\u0627\u06cc\u067e \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a<\/strong>\u060c \u06a9\u0647 \u062f\u0631 \u0633\u0627\u0644 2014 \u0628\u0633\u06cc\u0627\u0631 \u062c\u062f\u06cc\u062f \u0628\u0648\u062f \u0648 \u062e\u06cc\u0644\u06cc \u0647\u0627 \u0622\u0646 \u0631\u0627 \u062f\u0648\u0633\u062a \u0646\u062f\u0627\u0634\u062a\u0646\u062f.  \u0628\u0631\u062e\u06cc \u062a\u0631\u062c\u06cc\u062d \u062f\u0627\u062f\u0646\u062f \u0627\u0632 \u0622\u0646 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0646\u06a9\u0646\u0646\u062f \u0648 \u0628\u0647 \u0686\u0627\u0631\u0686\u0648\u0628 \u062f\u06cc\u06af\u0631\u06cc \u0646\u0642\u0644 \u0645\u06a9\u0627\u0646 \u06a9\u0631\u062f\u0646\u062f \u06a9\u0647 \u062f\u0631 \u0622\u0646\u062c\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646\u0633\u062a\u0646\u062f \u0627\u0632 \u062c\u0627\u0648\u0627 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u0646\u062f.<\/p>\n<p>\u0627\u0645\u0627 \u0647\u0645\u0647 \u062f\u0631 \u0637\u0648\u0644 \u0633\u0627\u0644 \u0647\u0627 \u0628\u0647 \u0642\u062f\u0631\u062a \u0648\u0627\u0642\u0639\u06cc Typescript \u067e\u06cc \u0628\u0631\u062f\u0647 \u0627\u0646\u062f \u0648 \u0627\u06a9\u062b\u0631 \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u06af\u0627\u0646 \u0627\u06a9\u0646\u0648\u0646 Typescript \u0631\u0627 \u0628\u0647 \u062c\u0627\u0648\u0627 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0631\u062f\u0647 \u0648 \u062a\u0631\u062c\u06cc\u062d \u0645\u06cc \u062f\u0647\u0646\u062f.<\/p>\n<p>\u0633\u0627\u0644 2014 \u0632\u0645\u0627\u0646\u06cc \u0628\u0648\u062f \u06a9\u0647 \u0628\u0633\u06cc\u0627\u0631\u06cc \u0627\u0632 \u0627\u0628\u0632\u0627\u0631\u0647\u0627\u06cc \u0633\u0627\u062e\u062a \u062c\u0627\u0648\u0627 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0638\u0627\u0647\u0631 \u0634\u062f\u0646\u062f.  \u0628\u0647 \u06cc\u0627\u062f \u062f\u0627\u0631\u0645 \u06a9\u0647 \u0627\u0632 Grunt \u0648 Gulp \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0631\u062f\u0645.  \u062d\u062a\u06cc \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u0646\u0633\u062e\u0647 \u0627\u0648\u0644\u06cc\u0647 Angular (2.0) \u0638\u0627\u0647\u0631 \u0634\u062f\u060c \u0627\u0632 SystemJS \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0634\u062f \u0648 \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u06af\u0627\u0646 \u0645\u062c\u0628\u0648\u0631 \u0628\u0648\u062f\u0646\u062f \u0647\u0645\u0647 \u0686\u06cc\u0632 \u0631\u0627 \u0628\u0647 \u0637\u0648\u0631 \u0645\u0633\u062a\u0642\u0644 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0646\u0646\u062f.  \u0628\u0627 Angular 4.0 \u062a\u06cc\u0645 Angular \u0645\u0639\u0631\u0641\u06cc \u0634\u062f <strong>\u0628\u0633\u062a\u0647 \u0648\u0628<\/strong> \u0648 <strong>CLI<\/strong>\u0648 \u062a\u0645\u0627\u0645 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0627\u0632 \u062f\u06cc\u062f \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u06af\u0627\u0646 \u067e\u0646\u0647\u0627\u0646 \u0634\u062f.  Webpack \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0628\u0647\u062a\u0631\u06cc\u0646 \u0648 \u067e\u0627\u06cc\u062f\u0627\u0631\u062a\u0631\u06cc\u0646 \u0627\u0628\u0632\u0627\u0631 \u062f\u0631 \u0637\u0648\u0644 \u0633\u0627\u0644 \u0647\u0627 \u062e\u062f\u0645\u062a \u06a9\u0631\u062f\u0647 \u0627\u0633\u062a.  \u0627\u06cc\u0646 \u0627\u0628\u0632\u0627\u0631 \u0645\u0648\u0631\u062f \u0627\u0639\u062a\u0645\u0627\u062f \u0628\u0633\u06cc\u0627\u0631\u06cc \u0627\u0632 \u0686\u0627\u0631\u0686\u0648\u0628 \u0647\u0627 \u0648 \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u06af\u0627\u0646 \u062f\u06cc\u06af\u0631 \u0634\u062f.<\/p>\n<p>\u0632\u0645\u0627\u0646\u06cc \u0628\u0648\u062f \u06a9\u0647 \u062a\u06cc\u0645 Angular \u062f\u0631 \u0646\u0638\u0631 \u062f\u0627\u0634\u062a \u0645\u0639\u0631\u0641\u06cc \u06a9\u0646\u062f <strong>\u0628\u0627\u0632\u0644<\/strong> \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0627\u0628\u0632\u0627\u0631 \u0633\u0627\u062e\u062a  Bazel \u06cc\u06a9 \u0627\u0628\u0632\u0627\u0631 \u0639\u0627\u0644\u06cc \u0627\u0633\u062a\u060c \u0627\u0645\u0627 \u0645\u0639\u0631\u0641\u06cc \u0622\u0646 \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u062a\u0644\u0627\u0634 \u062a\u0648\u0633\u0639\u0647 \u0631\u0627 \u067e\u06cc\u0686\u06cc\u062f\u0647 \u06a9\u0646\u062f\u060c \u0632\u06cc\u0631\u0627 \u062f\u0631\u06a9 \u0622\u0646 \u062f\u0634\u0648\u0627\u0631 \u0627\u0633\u062a.  \u062a\u06cc\u0645 \u0632\u0627\u0648\u06cc\u0647 \u0627\u06cc \u062a\u0635\u0645\u06cc\u0645 \u06af\u0631\u0641\u062a \u06a9\u0647 \u062f\u0631 \u0627\u06cc\u0646 \u0645\u0633\u06cc\u0631 \u062d\u0631\u06a9\u062a \u0646\u06a9\u0646\u062f.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D8%AD%D8%A7%D8%B6%D8%B1\"><\/span>\n<p>  <strong>\u062d\u0627\u0636\u0631<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Angular \u0647\u0646\u0648\u0632 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u062f <strong>\u0628\u0633\u062a\u0647 \u0648\u0628<\/strong> \u0648 \u062f\u0627\u0631\u0627\u06cc \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u062a\u062c\u0631\u0628\u06cc \u0628\u0631\u0627\u06cc <strong>esbuild<\/strong>.  \u0627\u06cc\u0646 \u062a\u06cc\u0645 \u0632\u0645\u0627\u0646 \u062e\u0648\u062f \u0631\u0627 \u0628\u0631\u0627\u06cc \u062d\u0631\u06a9\u062a \u0628\u0647 \u0633\u0645\u062a \u0622\u06cc\u0646\u062f\u0647 \u062f\u0631\u06a9 \u06a9\u0631\u062f \u0648 \u0627\u0628\u0632\u0627\u0631\u0647\u0627\u06cc \u062f\u06cc\u06af\u0631\u06cc \u0631\u0627 \u0628\u0647\u062a\u0631 \u0627\u0632 Webpack \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0631\u062f.<\/p>\n<p><strong>CLI<\/strong> \u062f\u0631 \u0637\u0648\u0644 \u0633\u0627\u0644 \u0647\u0627 \u0628\u0647\u0628\u0648\u062f \u06cc\u0627\u0641\u062a\u0647 \u0627\u0633\u062a \u0648 \u0627\u0645\u06a9\u0627\u0646 \u0645\u0647\u0627\u062c\u0631\u062a \u0646\u0631\u0645 \u0628\u06cc\u0646 \u0646\u0633\u062e\u0647 \u0647\u0627\u06cc Angular \u0631\u0627 \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc \u06a9\u0646\u062f.  https:\/\/update.angular.io\/ \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D8%A2%DB%8C%D9%86%D8%AF%D9%87\"><\/span>\n<p>  \u0622\u06cc\u0646\u062f\u0647<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u067e\u0633 \u0627\u0632 \u062f\u0631 \u0646\u0638\u0631 \u06af\u0631\u0641\u062a\u0646 \u0628\u0633\u06cc\u0627\u0631\u06cc \u0627\u0632 \u0627\u0628\u0632\u0627\u0631\u0647\u0627\u06cc \u0633\u0627\u062e\u062a\u060c Angular \u0633\u0631\u0645\u0627\u06cc\u0647 \u06af\u0630\u0627\u0631\u06cc \u062e\u0648\u0627\u0647\u062f \u06a9\u0631\u062f <strong>esbuild<\/strong>\u060c \u06a9\u0647 \u0628\u0631\u0627\u06cc \u0633\u0627\u062e\u062a \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc Angular \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u062e\u0648\u0627\u0647\u062f \u0634\u062f.<\/p>\n<p>\u0648\u0644\u06cc <strong>\u0633\u0631\u06cc\u0639<\/strong> \u062f\u0627\u063a\u062a\u0631\u06cc\u0646 \u0627\u0628\u0632\u0627\u0631 \u062f\u0631 \u062d\u0627\u0644 \u062d\u0627\u0636\u0631 \u0627\u0633\u062a.  \u0634\u0645\u0627 \u06af\u0641\u062a\u06cc\u062f\u060c \u0628\u0644\u0647\u060c \u062a\u06cc\u0645 \u062a\u0635\u0645\u06cc\u0645 \u06af\u0631\u0641\u062a \u0627\u0632 \u0622\u0646 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0646\u06a9\u0646\u062f\u060c \u0632\u06cc\u0631\u0627 \u0628\u0647\u062a\u0631\u06cc\u0646 \u06af\u0632\u06cc\u0646\u0647 \u0628\u0631\u0627\u06cc \u0633\u0627\u062e\u062a \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc Angular \u0646\u06cc\u0633\u062a.  \u0628\u0627 \u0627\u06cc\u0646 \u062d\u0627\u0644\u060c \u0622\u0646 \u0631\u0627 \u0628\u0647 \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 <strong>\u0633\u0631\u06cc\u0639<\/strong> \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u062f\u0631 \u062d\u0627\u0644 \u0633\u0627\u062e\u062a \u0628\u0631\u0646\u0627\u0645\u0647 \u0646\u0648\u06cc\u0633 \u0647\u0633\u062a\u06cc\u062f.<\/p>\n<p>Angular \u0627\u0632 \u06cc\u06a9 \u06a9\u0627\u0645\u067e\u0627\u06cc\u0644\u0631 \u0628\u0631\u0627\u06cc \u0633\u0627\u062e\u062a \u0648 \u062a\u0648\u0644\u06cc\u062f \u062e\u0631\u0648\u062c\u06cc \u0633\u0627\u062e\u062a \u0646\u0647\u0627\u06cc\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u062f \u06a9\u0647 \u0639\u0645\u0648\u0645\u0627\u064b \u0627\u0632 \u0686\u0646\u062f\u06cc\u0646 \u0627\u0628\u0632\u0627\u0631 \u0639\u0628\u0648\u0631 \u0645\u06cc \u06a9\u0646\u062f.  \u06cc\u06a9\u06cc \u0627\u0632 \u0622\u0646\u0647\u0627 \u0645\u0648\u062a\u0648\u0631 \u0631\u0646\u062f\u0631 \u0627\u0633\u062a.  \u062a\u06cc\u0645 Angular \u0628\u0627\u0631\u0647\u0627 \u0631\u0648\u06cc \u0645\u0648\u062a\u0648\u0631\u0647\u0627\u06cc \u0631\u0646\u062f\u0631 \u062a\u06a9\u0631\u0627\u0631 \u06a9\u0631\u062f\u0647 \u0627\u0633\u062a\u060c \u0648 Ivy \u0646\u0633\u0644 \u0641\u0639\u0644\u06cc \u0627\u0633\u062a \u06a9\u0647 \u062a\u06cc\u0645 Angular \u0631\u0627 \u0628\u0631\u0627\u06cc \u0645\u0639\u0631\u0641\u06cc \u0648\u06cc\u0698\u06af\u06cc\u200c\u0647\u0627\u06cc \u0639\u0627\u0644\u06cc \u0645\u0627\u0646\u0646\u062f \u0645\u0624\u0644\u0641\u0647 \u0645\u0633\u062a\u0642\u0644 \u0628\u0627\u0632 \u06a9\u0631\u062f\u0647 \u0627\u0633\u062a.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%DA%AF%D8%B0%D8%B4%D8%AA%D9%87-2\"><\/span>\n<p>  \u06af\u0630\u0634\u062a\u0647<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Angular \u0627\u0632 \u062a\u0648\u0633\u0639\u0647\u200c\u062f\u0647\u0646\u062f\u06af\u0627\u0646 \u0645\u06cc\u200c\u062e\u0648\u0627\u0633\u062a \u06a9\u0647 \u0627\u0632 \u0631\u0648\u0632 \u0627\u0648\u0644 \u06a9\u062f \u0648\u0627\u06a9\u0646\u0634\u200c\u06af\u0631\u0627\u06cc \u0628\u06cc\u0634\u062a\u0631\u06cc \u0628\u0646\u0648\u06cc\u0633\u0646\u062f \u0648 \u0628\u0647\u062a\u0631\u06cc\u0646 \u0627\u0628\u0632\u0627\u0631 \u0645\u0648\u062c\u0648\u062f \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u0646\u062f <strong>RxJs<\/strong>.  \u0628\u0631\u0627\u06cc API \u0647\u0627\u06cc\u06cc \u0645\u0627\u0646\u0646\u062f <strong>HTTP<\/strong> \u0648 <strong>\u0631\u0648\u062a\u0631<\/strong>, Angular \u0627\u0632 RxJ \u0647\u0627 \u062f\u0631 \u062f\u0627\u062e\u0644 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u062f.  \u062d\u062a\u06cc \u0628\u0631\u0627\u06cc EventEmitter RxJs Subject \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0634\u062f.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D8%AD%D8%A7%D8%B6%D8%B1-2\"><\/span>\n<p>  \u062d\u0627\u0636\u0631<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 RxJs \u062f\u0631 \u0637\u0648\u0644 \u0633\u0627\u0644 \u0647\u0627 \u0627\u0641\u0632\u0627\u06cc\u0634 \u06cc\u0627\u0641\u062a\u0647 \u0627\u0633\u062a \u0648 \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u06af\u0627\u0646 \u0628\u06cc\u0634\u062a\u0631\u06cc \u0627\u0632 \u0627\u06cc\u0646 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u0642\u062f\u0631\u062a\u0645\u0646\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u0646\u062f.  \u0628\u0627 \u0627\u06cc\u0646 \u062d\u0627\u0644\u060c \u0628\u0633\u06cc\u0627\u0631\u06cc \u0627\u0632 \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u06af\u0627\u0646 Angular \u0628\u062f\u0648\u0646 RxJ \u0631\u0627 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u0631\u062f\u0646\u062f.  \u0628\u0633\u06cc\u0627\u0631\u06cc \u062e\u0648\u0627\u0647\u0627\u0646 \u0627\u062f\u063a\u0627\u0645 \u0628\u0647\u062a\u0631 Angular \u0628\u0627 RxJ \u0647\u0633\u062a\u0646\u062f.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D8%A2%DB%8C%D9%86%D8%AF%D9%87-2\"><\/span>\n<p>  \u0622\u06cc\u0646\u062f\u0647<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u062a\u06cc\u0645 \u0632\u0627\u0648\u06cc\u0647\u200c\u0627\u06cc \u062f\u0631 \u062d\u0627\u0644 \u0622\u0632\u0645\u0627\u06cc\u0634 \u0633\u06cc\u06af\u0646\u0627\u0644\u200c\u0647\u0627 \u0647\u0633\u062a\u0646\u062f \u0648 \u0628\u0647 \u0632\u0648\u062f\u06cc RFC \u0639\u0645\u0648\u0645\u06cc \u0648\u062c\u0648\u062f \u062e\u0648\u0627\u0647\u062f \u062f\u0627\u0634\u062a.  \u0633\u06cc\u06af\u0646\u0627\u0644 \u0647\u0627 \u0645\u0646\u062d\u0646\u06cc \u06cc\u0627\u062f\u06af\u06cc\u0631\u06cc \u0631\u0627 \u06a9\u0647 \u0628\u0631\u0627\u06cc RxJ \u0644\u0627\u0632\u0645 \u0628\u0648\u062f \u06a9\u0627\u0647\u0634 \u0645\u06cc \u062f\u0647\u0646\u062f.  \u0628\u0627 \u0627\u06cc\u0646 \u062d\u0627\u0644\u060c API \u0647\u0627\u06cc\u06cc \u0631\u0627 \u0646\u06cc\u0632 \u0628\u0631\u0627\u06cc \u0627\u062f\u063a\u0627\u0645 \u0628\u0647\u062a\u0631 \u0628\u0627 RxJ \u0645\u0639\u0631\u0641\u06cc \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%DA%AF%D8%B0%D8%B4%D8%AA%D9%87-3\"><\/span>\n<p>  \u06af\u0630\u0634\u062a\u0647<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u062a\u0634\u062e\u06cc\u0635 \u062a\u063a\u06cc\u06cc\u0631 \u0647\u0645\u06cc\u0634\u0647 \u0628\u062e\u0634 \u0628\u0633\u06cc\u0627\u0631 \u0645\u0647\u0645\u06cc \u0627\u0632 \u0647\u0631 \u0686\u0627\u0631\u0686\u0648\u0628\u06cc \u0628\u0648\u062f\u0647 \u0627\u0633\u062a.  \u062a\u06cc\u0645 angular zone.js \u0631\u0627 \u062e\u06cc\u0644\u06cc \u0632\u0648\u062f \u0628\u0631\u0627\u06cc \u0645\u0631\u0627\u0642\u0628\u062a \u0627\u0632 \u062a\u0634\u062e\u06cc\u0635 \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u0645\u0639\u0631\u0641\u06cc \u06a9\u0631\u062f.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D8%AD%D8%A7%D8%B6%D8%B1-3\"><\/span>\n<p>  \u062d\u0627\u0636\u0631<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Angular \u0647\u0646\u0648\u0632 \u0627\u0632 zone.js \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u062f\u060c \u0627\u0645\u0627 \u0628\u0647 \u0632\u0648\u062f\u06cc \u0634\u0631\u0648\u0639 \u0628\u0647 \u0627\u0631\u0627\u0626\u0647 \u0645\u0634\u06a9\u0644\u0627\u062a \u0639\u0645\u0644\u06a9\u0631\u062f \u0628\u0631\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc \u0628\u0632\u0631\u06af \u06a9\u0631\u062f \u0648 \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u06af\u0627\u0646 \u0645\u062c\u0628\u0648\u0631 \u0634\u062f\u0646\u062f \u0646\u062d\u0648\u0647 \u0628\u0647\u0628\u0648\u062f \u0639\u0645\u0644\u06a9\u0631\u062f \u0631\u0627 \u0628\u06cc\u0627\u0628\u0646\u062f.  \u0627\u0633\u062a\u0631\u0627\u062a\u0698\u06cc \u062a\u0634\u062e\u06cc\u0635 \u062a\u063a\u06cc\u06cc\u0631 OnPush \u0628\u0647 \u0637\u0648\u0631 \u06af\u0633\u062a\u0631\u062f\u0647 \u0627\u06cc \u0628\u0631\u0627\u06cc \u0628\u0647\u0628\u0648\u062f \u0639\u0645\u0644\u06a9\u0631\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f.  \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647\u200c\u0647\u0627\u06cc\u06cc \u0645\u0627\u0646\u0646\u062f RxAngular \u0628\u0647 \u0634\u0645\u0627 \u0627\u0645\u06a9\u0627\u0646 \u0645\u06cc\u200c\u062f\u0647\u0646\u062f zone.js \u0631\u0627 \u063a\u06cc\u0631\u0641\u0639\u0627\u0644 \u06a9\u0646\u06cc\u062f\u060c \u0627\u0645\u0627 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u062a\u063a\u06cc\u06cc\u0631 \u0645\u062c\u062f\u062f \u062f\u0627\u0631\u0646\u062f.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D8%A2%DB%8C%D9%86%D8%AF%D9%87-3\"><\/span>\n<p>  \u0622\u06cc\u0646\u062f\u0647<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0645\u0627\u060c \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u06af\u0627\u0646\u060c \u0628\u0627\u06cc\u062f \u0628\u0647 \u062c\u0627\u06cc \u0627\u0647\u0645\u06cc\u062a \u062f\u0627\u062f\u0646 \u0628\u0647 \u062a\u0634\u062e\u06cc\u0635 \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a\u060c \u0631\u0648\u06cc \u0646\u0648\u0634\u062a\u0646 \u06a9\u062f \u0628\u0627 \u06a9\u06cc\u0641\u06cc\u062a \u0628\u06cc\u0634\u062a\u0631 \u062a\u0645\u0631\u06a9\u0632 \u06a9\u0646\u06cc\u0645.  \u0628\u0644\u0647\u060c \u0627\u06cc\u0646 \u0633\u06cc\u0627\u0633\u062a\u06cc \u0627\u0633\u062a \u06a9\u0647 \u062a\u06cc\u0645 Angular \u062a\u0635\u0645\u06cc\u0645 \u06af\u0631\u0641\u062a\u0647 \u0627\u0633\u062a \u0628\u0627 \u0622\u0646 \u067e\u06cc\u0634 \u0628\u0631\u0648\u062f.  \u0628\u0627 \u0645\u0639\u0631\u0641\u06cc Signals\u060c zone.js \u0627\u062e\u062a\u06cc\u0627\u0631\u06cc \u062e\u0648\u0627\u0647\u062f \u0634\u062f \u0648 \u0634\u0645\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u06a9\u0645\u062a\u0631 \u0628\u0647 \u0627\u0633\u062a\u0631\u0627\u062a\u0698\u06cc \u0647\u0627\u06cc \u062a\u0634\u062e\u06cc\u0635 \u062a\u063a\u06cc\u06cc\u0631 \u0627\u0647\u0645\u06cc\u062a \u062f\u0647\u06cc\u062f.<\/p>\n<p>Angular \u0686\u0631\u062e\u0647 \u0627\u0646\u062a\u0634\u0627\u0631 6 \u0645\u0627\u0647\u0647 \u062f\u0627\u0631\u062f\u060c \u0628\u0647 \u0627\u06cc\u0646 \u0645\u0639\u0646\u06cc \u06a9\u0647 \u0647\u0631 6 \u0645\u0627\u0647 \u06cc\u06a9 \u0646\u0633\u062e\u0647 \u0627\u0635\u0644\u06cc \u062c\u062f\u06cc\u062f \u0648\u062c\u0648\u062f \u062e\u0648\u0627\u0647\u062f \u062f\u0627\u0634\u062a.  \u0648 \u0627\u06cc\u0646 \u0646\u0633\u062e\u0647 \u0628\u0631\u0627\u06cc 18 \u0645\u0627\u0647 \u0622\u06cc\u0646\u062f\u0647 \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u0645\u06cc \u06a9\u0646\u062f\u060c \u0628\u0647 \u0627\u06cc\u0646 \u0645\u0639\u0646\u06cc \u06a9\u0647 \u0627\u06af\u0631 \u0628\u06cc\u0634 \u0627\u0632 18 \u0645\u0627\u0647 \u0627\u0632 \u0646\u0633\u062e\u0647 Angular \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0631\u062f\u0647 \u0628\u0627\u0634\u06cc\u062f\u060c \u0628\u0647 \u0627\u062d\u062a\u0645\u0627\u0644 \u0632\u06cc\u0627\u062f \u0627\u06cc\u0646 \u0646\u0633\u062e\u0647 \u062f\u06cc\u06af\u0631 \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u0646\u0645\u06cc \u0634\u0648\u062f.<\/p>\n<p>\u0627\u0645\u0627 Angular \u067e\u0634\u062a \u0634\u0645\u0627\u0633\u062a.  \u0628\u0631\u0627\u06cc \u0647\u0631 \u0646\u0633\u062e\u0647 \u062c\u062f\u06cc\u062f\u060c Angular CLI \u06cc\u06a9 \u0627\u0646\u062a\u0642\u0627\u0644 \u062e\u0648\u062f\u06a9\u0627\u0631 \u0631\u0627 \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc \u062f\u0647\u062f.  \u0634\u0645\u0627 \u0628\u0627\u06cc\u062f \u0628\u062f\u0648\u06cc\u062f <code>ng update<\/code> \u0648 \u0622\u0631\u0627\u0645 \u0628\u0627\u0634.<\/p>\n<p>\u0628\u0631\u0627\u06cc \u0628\u0647 \u0631\u0648\u0632 \u0631\u0633\u0627\u0646\u06cc Angular \u0628\u06cc\u0646 \u0686\u0646\u062f\u06cc\u0646 \u0646\u0633\u062e\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0633\u0646\u0627\u062f \u0631\u0627 \u0628\u062e\u0648\u0627\u0646\u06cc\u062f<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>ng update \n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u062f\u0631 \u0637\u0648\u0644 \u0633\u0627\u0644\u200c\u0647\u0627\u060c \u062a\u06cc\u0645 Angular \u0628\u06cc\u0634\u062a\u0631 \u0628\u0627 \u062c\u0627\u0645\u0639\u0647 \u062a\u0639\u0627\u0645\u0644 \u062f\u0627\u0634\u062a\u0647 \u0648 \u0631\u0648\u06cc \u0628\u0631\u062e\u06cc \u0648\u06cc\u0698\u06af\u06cc\u200c\u0647\u0627\u06cc \u0639\u0627\u0644\u06cc \u06a9\u0627\u0631 \u06a9\u0631\u062f\u0647 \u0627\u0633\u062a.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D8%B9%D9%85%D9%84%DA%A9%D8%B1%D8%AF_%D8%AA%D8%B2%D8%B1%DB%8C%D9%82\"><\/span>\n<p>  \u0639\u0645\u0644\u06a9\u0631\u062f \u062a\u0632\u0631\u06cc\u0642<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u06cc\u06a9\u06cc \u0627\u0632 \u0645\u062d\u0628\u0648\u0628 \u062a\u0631\u06cc\u0646 \u0648\u06cc\u0698\u06af\u06cc \u0647\u0627\u06cc Angular DI (\u062a\u0632\u0631\u06cc\u0642 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc) \u0627\u0633\u062a.  \u0647\u0645\u0647 \u0645\u0627 \u0622\u0646 \u0631\u0627 \u062f\u0648\u0633\u062a \u062f\u0627\u0631\u06cc\u0645.  \u0628\u0627 <code>inject<\/code>\u060c \u062a\u06cc\u0645 \u062a\u0627\u0628\u0639 Angular \u062a\u062c\u0631\u0628\u0647 \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u0647 \u0631\u0627 \u062d\u062a\u06cc \u0628\u0647\u062a\u0631 \u06a9\u0631\u062f.<\/p>\n<p>\u0628\u06cc\u0627\u06cc\u06cc\u062f \u06cc\u06a9 \u0645\u062b\u0627\u0644 \u0642\u0628\u0644 \u0648 \u0628\u0639\u062f \u0631\u0627 \u0628\u0628\u06cc\u0646\u06cc\u0645:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>@Component<span class=\"o\">({<\/span>\n  selector: <span class=\"s1\">'app-employee-details'<\/span>,\n  templateUrl: <span class=\"s1\">'.\/employee-details.component.html'<\/span>,\n  styleUrls: <span class=\"o\">[<\/span><span class=\"s1\">'.\/employee-details.component.scss'<\/span><span class=\"o\">]<\/span>,\n<span class=\"o\">})<\/span>\n<span class=\"nb\">export <\/span>class EmployeeDetailsComponent <span class=\"o\">{<\/span>\n\n  modes<span class=\"nv\">$ <\/span><span class=\"o\">=<\/span> this.route.queryParamMap.pipe<span class=\"o\">(<\/span>\n    map<span class=\"o\">((<\/span>params: ParamMap<span class=\"o\">)<\/span> <span class=\"o\">=&gt;<\/span> params.get<span class=\"o\">(<\/span><span class=\"s1\">'mode'<\/span><span class=\"o\">))<\/span>\n  <span class=\"o\">)<\/span><span class=\"p\">;<\/span>\n  userName<span class=\"nv\">$ <\/span><span class=\"o\">=<\/span> this.route.paramMap.pipe<span class=\"o\">(<\/span>\n    map<span class=\"o\">((<\/span>params: ParamMap<span class=\"o\">)<\/span> <span class=\"o\">=&gt;<\/span> params.get<span class=\"o\">(<\/span><span class=\"s1\">'username'<\/span><span class=\"o\">))<\/span>\n  <span class=\"o\">)<\/span><span class=\"p\">;<\/span>\n\n  employeeId<span class=\"nv\">$ <\/span><span class=\"o\">=<\/span> this.route.paramMap\n    .pipe<span class=\"o\">(<\/span>\n      map<span class=\"o\">((<\/span>params: ParamMap<span class=\"o\">)<\/span> <span class=\"o\">=&gt;<\/span> params.get<span class=\"o\">(<\/span><span class=\"s1\">'employeeId'<\/span><span class=\"o\">))<\/span>\n    <span class=\"o\">)<\/span><span class=\"p\">;<\/span>\n  constructor<span class=\"o\">(<\/span>private route: ActivatedRoute<span class=\"o\">)<\/span> <span class=\"o\">{<\/span> <span class=\"o\">}<\/span>\n\n<span class=\"o\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0628\u0627 \u0639\u0645\u0644\u06a9\u0631\u062f \u062a\u0632\u0631\u06cc\u0642<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight typescript\"><code><span class=\"p\">@<\/span><span class=\"nd\">Component<\/span><span class=\"p\">({<\/span>\n  <span class=\"na\">selector<\/span><span class=\"p\">:<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">app-employee-details<\/span><span class=\"dl\">'<\/span><span class=\"p\">,<\/span>\n  <span class=\"na\">templateUrl<\/span><span class=\"p\">:<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">.\/employee-details.component.html<\/span><span class=\"dl\">'<\/span><span class=\"p\">,<\/span>\n  <span class=\"na\">styleUrls<\/span><span class=\"p\">:<\/span> <span class=\"p\">[<\/span><span class=\"dl\">'<\/span><span class=\"s1\">.\/employee-details.component.scss<\/span><span class=\"dl\">'<\/span><span class=\"p\">],<\/span>\n<span class=\"p\">})<\/span>\n<span class=\"k\">export<\/span> <span class=\"kd\">class<\/span> <span class=\"nx\">EmployeeDetailsComponent<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nx\">modes$<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">inject<\/span><span class=\"p\">(<\/span><span class=\"nx\">ActivatedRoute<\/span><span class=\"p\">).<\/span><span class=\"nx\">queryParamMap<\/span><span class=\"p\">.<\/span><span class=\"nx\">pipe<\/span><span class=\"p\">(<\/span>\n    <span class=\"nx\">map<\/span><span class=\"p\">((<\/span><span class=\"nx\">params<\/span><span class=\"p\">:<\/span> <span class=\"nx\">ParamMap<\/span><span class=\"p\">)<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"nx\">params<\/span><span class=\"p\">.<\/span><span class=\"kd\">get<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">mode<\/span><span class=\"dl\">'<\/span><span class=\"p\">))<\/span>\n  <span class=\"p\">);<\/span>\n  <span class=\"nx\">userName$<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">inject<\/span><span class=\"p\">(<\/span><span class=\"nx\">ActivatedRoute<\/span><span class=\"p\">).<\/span><span class=\"nx\">paramMap<\/span><span class=\"p\">.<\/span><span class=\"nx\">pipe<\/span><span class=\"p\">(<\/span>\n    <span class=\"nx\">map<\/span><span class=\"p\">((<\/span><span class=\"nx\">params<\/span><span class=\"p\">:<\/span> <span class=\"nx\">ParamMap<\/span><span class=\"p\">)<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"nx\">params<\/span><span class=\"p\">.<\/span><span class=\"kd\">get<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">username<\/span><span class=\"dl\">'<\/span><span class=\"p\">))<\/span>\n  <span class=\"p\">);<\/span>\n\n  <span class=\"nx\">employeeId$<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">inject<\/span><span class=\"p\">(<\/span><span class=\"nx\">ActivatedRoute<\/span><span class=\"p\">).<\/span><span class=\"nx\">paramMap<\/span><span class=\"p\">.<\/span><span class=\"nx\">pipe<\/span><span class=\"p\">(<\/span>\n    <span class=\"nx\">map<\/span><span class=\"p\">((<\/span><span class=\"nx\">params<\/span><span class=\"p\">:<\/span> <span class=\"nx\">ParamMap<\/span><span class=\"p\">)<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"nx\">params<\/span><span class=\"p\">.<\/span><span class=\"kd\">get<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">employeeId<\/span><span class=\"dl\">'<\/span><span class=\"p\">))<\/span>\n  <span class=\"p\">);<\/span>\n  <span class=\"kd\">constructor<\/span><span class=\"p\">()<\/span> <span class=\"p\">{}<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0642\u0627\u0644\u0628:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight xml\"><code><span class=\"nt\">&lt;h1&gt;<\/span>\n   Employee Details for EmployeeId: {{employeeId$ | async}}\n<span class=\"nt\">&lt;\/h1&gt;<\/span>\n\n<span class=\"nt\">&lt;h2&gt;<\/span>Current Mode: {{ modes$ | async }} <span class=\"nt\">&lt;\/h2&gt;<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"%D8%A7%D8%AC%D8%B2%D8%A7%DB%8C_%D9%85%D8%B3%D8%AA%D9%82%D9%84\"><\/span>\n<p>  \u0627\u062c\u0632\u0627\u06cc \u0645\u0633\u062a\u0642\u0644<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u062c\u0627\u0645\u0639\u0647 \u0627\u0646\u06af\u0648\u0644\u0627\u0631 \u0645\u062f\u062a\u200c\u0647\u0627\u0633\u062a \u06a9\u0647 \u0627\u0632 \u0645\u0627\u0698\u0648\u0644 Angular \u06a9\u0645\u062a\u0631 Angular \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u062f.  \u0645\u0646 \u0647\u0646\u0648\u0632 \u0647\u0645 \u0645\u0627\u0698\u0648\u0644\u200c\u0647\u0627\u06cc Angular \u0631\u0627 \u062f\u0648\u0633\u062a \u062f\u0627\u0631\u0645\u060c \u0627\u06cc\u0646 \u0645\u0627\u0698\u0648\u0644\u200c\u0647\u0627 \u0647\u0646\u0648\u0632 \u062c\u0627\u06cc\u06af\u0627\u0647 \u062e\u0648\u062f \u0631\u0627 \u062f\u0631 \u0647\u0646\u06af\u0627\u0645 \u0633\u0627\u062e\u062a\u0627\u0631\u0628\u0646\u062f\u06cc \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0647\u0627\u06cc \u0634\u0645\u0627 \u062f\u0627\u0631\u0646\u062f\u060c \u0627\u0645\u0627 \u0645\u0627 \u0645\u0639\u0645\u0648\u0644\u0627\u064b \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u0645 \u0628\u062f\u0648\u0646 \u0622\u0646\u0647\u0627 \u06a9\u0627\u0631 \u06a9\u0646\u06cc\u0645.  \u0646\u062f\u0627\u0634\u062a\u0646 \u0645\u0627\u0698\u0648\u0644 \u0647\u0627\u06cc \u0632\u0627\u0648\u06cc\u0647 \u0627\u06cc\u060c \u0645\u0646\u062d\u0646\u06cc \u0630\u0647\u0646\u06cc \u0648 \u06cc\u0627\u062f\u06af\u06cc\u0631\u06cc \u0631\u0627 \u06a9\u0627\u0647\u0634 \u0645\u06cc \u062f\u0647\u062f.  \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0627\u06a9\u0646\u0648\u0646 \u0645\u0627 \u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a \u0647\u0627\u06cc \u0645\u0633\u062a\u0642\u0644 \u0631\u0627 \u062f\u0627\u0631\u06cc\u0645\u060c \u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a \u0645\u0633\u062a\u0642\u0644 \u0646\u06cc\u0627\u0632\u06cc \u0628\u0647 \u062b\u0628\u062a \u0634\u062f\u0646 \u0628\u0627 \u0645\u0627\u0698\u0648\u0644 \u0647\u0627\u06cc \u0627\u0646\u06af\u0648\u0644\u0627\u0631 \u0646\u062f\u0627\u0631\u062f\u060c \u0648 \u0647\u0646\u0648\u0632 \u0647\u0645 \u0633\u0627\u0632\u06af\u0627\u0631\u06cc \u0628\u0627 \u0639\u0642\u0628 \u062f\u0627\u0631\u062f\u060c \u0628\u0647 \u0627\u06cc\u0646 \u0645\u0639\u0646\u06cc \u06a9\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 \u0622\u0646\u0647\u0627 \u062f\u0631 \u06cc\u06a9 \u0645\u0627\u0698\u0648\u0644 \u0627\u0646\u06af\u0648\u0644\u0627\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight typescript\"><code><span class=\"k\">import<\/span> <span class=\"p\">{<\/span> <span class=\"nx\">Component<\/span><span class=\"p\">,<\/span> <span class=\"nx\">OnInit<\/span> <span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">@angular\/core<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">import<\/span> <span class=\"p\">{<\/span> <span class=\"nx\">MatTableModule<\/span> <span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">@angular\/material\/table<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">import<\/span> <span class=\"p\">{<\/span> <span class=\"nx\">MatPaginatorModule<\/span> <span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">@angular\/material\/paginator<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">import<\/span> <span class=\"p\">{<\/span> <span class=\"nx\">MatSortModule<\/span> <span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">@angular\/material\/sort<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n\n<span class=\"p\">@<\/span><span class=\"nd\">Component<\/span><span class=\"p\">({<\/span>\n  <span class=\"na\">selector<\/span><span class=\"p\">:<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">app-user<\/span><span class=\"dl\">'<\/span><span class=\"p\">,<\/span>\n  <span class=\"na\">templateUrl<\/span><span class=\"p\">:<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">.\/user.component.html<\/span><span class=\"dl\">'<\/span><span class=\"p\">,<\/span>\n  <span class=\"na\">styleUrls<\/span><span class=\"p\">:<\/span> <span class=\"p\">[<\/span><span class=\"dl\">'<\/span><span class=\"s1\">.\/user.component.scss<\/span><span class=\"dl\">'<\/span><span class=\"p\">],<\/span>\n  <span class=\"na\">standalone<\/span><span class=\"p\">:<\/span> <span class=\"kc\">true<\/span><span class=\"p\">,<\/span> <span class=\"c1\">\/\/ Standalone flag to differentiate between component with module<\/span>\n  <span class=\"na\">imports<\/span><span class=\"p\">:[<\/span>\n    <span class=\"nx\">MatTableModule<\/span><span class=\"p\">,<\/span>\n    <span class=\"nx\">MatPaginatorModule<\/span><span class=\"p\">,<\/span>\n    <span class=\"nx\">MatSortModule<\/span>\n  <span class=\"p\">]<\/span> <span class=\"c1\">\/\/ you can import Angular Module, Standalone Component\/Directive\/Pipe here<\/span>\n<span class=\"p\">})<\/span>\n<span class=\"k\">export<\/span> <span class=\"kd\">class<\/span> <span class=\"nx\">UserComponent<\/span> <span class=\"k\">implements<\/span> <span class=\"nx\">OnInit<\/span><span class=\"p\">{<\/span>\n\n  <span class=\"kd\">constructor<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n  <span class=\"p\">}<\/span>\n\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"API%D9%87%D8%A7%DB%8C_%D9%85%D8%B3%D8%AA%D9%82%D9%84\"><\/span>\n<p>  API\u0647\u0627\u06cc \u0645\u0633\u062a\u0642\u0644<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0628\u0631\u0627\u06cc \u0627\u0631\u062a\u0642\u0627\u06cc \u062a\u062c\u0631\u0628\u0647 \u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a \u0645\u0633\u062a\u0642\u0644 \u0628\u0647 \u0633\u0637\u062d \u0628\u0639\u062f\u06cc\u060c Angular API\u0647\u0627\u06cc \u0645\u0633\u062a\u0642\u0644 \u0631\u0627 \u0645\u0639\u0631\u0641\u06cc \u06a9\u0631\u062f \u06a9\u0647 \u0642\u0628\u0644\u0627\u064b \u0628\u0631\u0627\u06cc \u0631\u0648\u062a\u0631 \u0648 HttpClient \u062f\u0631 \u062f\u0633\u062a\u0631\u0633 \u0627\u0633\u062a \u0648 \u062d\u062a\u06cc \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647\u200c\u0647\u0627\u06cc\u06cc \u0645\u0627\u0646\u0646\u062f NgRx \u0646\u06cc\u0632 API\u0647\u0627\u06cc \u0645\u0633\u062a\u0642\u0644 \u0631\u0627 \u0645\u0639\u0631\u0641\u06cc \u06a9\u0631\u062f\u0646\u062f.<\/p>\n<p>\u0628\u06cc\u0627\u06cc\u06cc\u062f \u0646\u0645\u0648\u0646\u0647 \u06a9\u062f \u0632\u06cc\u0631 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 API\u0647\u0627\u06cc \u0645\u0633\u062a\u0642\u0644 \u0628\u0631\u0627\u06cc Http \u0648 \u0631\u0648\u062a\u0631 \u0628\u0628\u06cc\u0646\u06cc\u0645<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight typescript\"><code>\n<span class=\"nx\">providers<\/span><span class=\"p\">:<\/span> <span class=\"p\">[<\/span>\n    <span class=\"nx\">provideHttpClient<\/span><span class=\"p\">(),<\/span>\n       <span class=\"nx\">provideRouter<\/span><span class=\"p\">(<\/span>\n      <span class=\"nx\">routes<\/span><span class=\"p\">,<\/span>\n      <span class=\"nx\">withDebugTracing<\/span><span class=\"p\">(),<\/span>\n      <span class=\"nx\">withEnabledBlockingInitialNavigation<\/span><span class=\"p\">()<\/span> <span class=\"c1\">\/\/required for SSR<\/span>\n      <span class=\"nx\">withHashLocation<\/span><span class=\"p\">(),<\/span>\n      <span class=\"nx\">withPreloading<\/span><span class=\"p\">(<\/span> <span class=\"nx\">PreloadAllModules<\/span><span class=\"p\">),<\/span>\n      <span class=\"nx\">withRouterConfig<\/span><span class=\"p\">({<\/span>\n        <span class=\"na\">onSameUrlNavigation<\/span><span class=\"p\">:<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">reload<\/span><span class=\"dl\">'<\/span><span class=\"p\">,<\/span>\n      <span class=\"p\">})<\/span>\n    <span class=\"p\">),<\/span>\n<span class=\"p\">]<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"%D9%85%D9%87%D8%A7%D8%AC%D8%B1%D8%AA_%D8%A7%D8%AC%D8%B2%D8%A7%DB%8C_%D9%85%D8%B3%D8%AA%D9%82%D9%84\"><\/span>\n<p>  \u0645\u0647\u0627\u062c\u0631\u062a \u0627\u062c\u0632\u0627\u06cc \u0645\u0633\u062a\u0642\u0644<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0627\u0644\u0628\u062a\u0647\u060c \u0645\u0627 \u0627\u06a9\u0646\u0648\u0646 \u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a\u200c\u0647\u0627\u06cc \u0645\u0633\u062a\u0642\u0644 \u062f\u0627\u0631\u06cc\u0645\u060c \u0627\u0645\u0627 \u0628\u0647 \u062a\u0644\u0627\u0634\u06cc \u06a9\u0647 \u0634\u0645\u0627 \u0648 \u062a\u06cc\u0645\u062a\u0627\u0646 \u0628\u0631\u0627\u06cc \u062a\u0628\u062f\u06cc\u0644 \u0647\u0645\u0647 \u0627\u062c\u0632\u0627 \u0628\u0647 \u0645\u0633\u062a\u0642\u0644 \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc\u200c\u062f\u0647\u06cc\u062f \u0641\u06a9\u0631 \u06a9\u0646\u06cc\u062f\u060c \u0646\u06af\u0631\u0627\u0646 \u0646\u0628\u0627\u0634\u06cc\u062f.  \u062a\u06cc\u0645\u200c\u0647\u0627\u06cc Angular \u067e\u0634\u062a \u0634\u0645\u0627 \u0647\u0633\u062a\u0646\u062f\u060c \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f \u0648 \u0647\u0645\u0647 \u0627\u062c\u0632\u0627\u060c \u062f\u0633\u062a\u0648\u0631\u0627\u0644\u0639\u0645\u0644\u200c\u0647\u0627 \u0648 \u0644\u0648\u0644\u0647\u200c\u0647\u0627 \u0631\u0627 \u0628\u0647 \u062d\u0627\u0644\u062a \u0645\u0633\u062a\u0642\u0644\u060c Happy migration \u0645\u0646\u062a\u0642\u0644 \u06a9\u0646\u06cc\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>ng generate @angular\/core:standalone\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"%D9%85%D8%AD%D8%A7%D9%81%D8%B8_%D9%87%D8%A7%DB%8C_%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D8%AF%DB%8C\"><\/span>\n<p>  \u0645\u062d\u0627\u0641\u0638 \u0647\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0645\u062d\u0627\u0641\u0638 \u0647\u0627\u06cc \u0631\u0648\u062a\u0631 \u0639\u0627\u0644\u06cc \u0647\u0633\u062a\u0646\u062f\u060c \u0627\u0645\u0627 \u0647\u0631 \u0628\u0627\u0631 \u06a9\u0647 \u0645\u062c\u0628\u0648\u0631 \u0634\u062f\u06cc\u0645 \u06cc\u06a9 \u0645\u062d\u0627\u0641\u0638 \u0628\u0646\u0648\u06cc\u0633\u06cc\u0645\u060c \u0628\u0627\u06cc\u062f \u06cc\u06a9 \u0633\u0631\u0648\u06cc\u0633 \u0628\u0646\u0648\u06cc\u0633\u06cc\u0645.  \u0647\u0645\u0647 \u0686\u06cc\u0632 \u0628\u0627 \u0645\u0639\u0631\u0641\u06cc \u06af\u0627\u0631\u062f \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc \u062a\u063a\u06cc\u06cc\u0631 \u06a9\u0631\u062f.  \u06af\u0627\u0631\u062f\u0647\u0627 \u0627\u06a9\u0646\u0648\u0646 \u0645\u06cc \u062a\u0648\u0627\u0646\u0646\u062f \u06cc\u06a9 \u0639\u0645\u0644\u06a9\u0631\u062f \u0628\u0627\u0634\u0646\u062f.  \u062f\u06cc\u06af\u0631 \u0646\u06cc\u0627\u0632\u06cc \u0628\u0647 \u0646\u0648\u0634\u062a\u0646 \u06a9\u0644\u0627\u0633 \u0646\u06cc\u0633\u062a.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight typescript\"><code><span class=\"kd\">const<\/span> <span class=\"nx\">authGuard<\/span><span class=\"p\">:<\/span> <span class=\"nx\">CanMatchFn<\/span> <span class=\"o\">=<\/span> <span class=\"p\">()<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span>\n  <span class=\"kd\">const<\/span> <span class=\"nx\">authService<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">inject<\/span><span class=\"p\">(<\/span><span class=\"nx\">LoginService<\/span><span class=\"p\">);<\/span>\n  <span class=\"kd\">const<\/span> <span class=\"nx\">router<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">inject<\/span><span class=\"p\">(<\/span><span class=\"nx\">Router<\/span><span class=\"p\">);<\/span>\n\n  <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"nx\">authService<\/span><span class=\"p\">.<\/span><span class=\"nx\">isLoggedIn<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n    <span class=\"k\">return<\/span> <span class=\"kc\">true<\/span><span class=\"p\">;<\/span>\n  <span class=\"p\">}<\/span>\n\n  <span class=\"k\">return<\/span> <span class=\"nx\">router<\/span><span class=\"p\">.<\/span><span class=\"nx\">parseUrl<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">\/login<\/span><span class=\"dl\">'<\/span><span class=\"p\">);<\/span>\n<span class=\"p\">};<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"%D8%AF%D8%B3%D8%AA%D9%88%D8%B1%D8%A7%D9%84%D8%B9%D9%85%D9%84_%D8%AC%D8%AF%DB%8C%D8%AF_%D8%AA%D8%B5%D9%88%DB%8C%D8%B1\"><\/span>\n<p>  \u062f\u0633\u062a\u0648\u0631\u0627\u0644\u0639\u0645\u0644 \u062c\u062f\u06cc\u062f \u062a\u0635\u0648\u06cc\u0631<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0633\u0627\u0644 2023 \u0627\u0633\u062a\u060c \u0648 \u062a\u0635\u0627\u0648\u06cc\u0631 \u06cc\u06a9\u06cc \u0627\u0632 \u0645\u0647\u0645\u200c\u062a\u0631\u06cc\u0646 \u062f\u0644\u0627\u06cc\u0644 LCP \u0628\u062f (\u0628\u0632\u0631\u06af\u062a\u0631\u06cc\u0646 \u0635\u0641\u062d\u0647 \u0645\u062d\u062a\u0648\u0627) \u0647\u0633\u062a\u0646\u062f.  \u0628\u0627 \u0645\u0639\u0631\u0641\u06cc \u062f\u0633\u062a\u0648\u0631\u0627\u0644\u0639\u0645\u0644 NgOptimizedImage \u062f\u06cc\u06af\u0631 \u0644\u0627\u0632\u0645 \u0646\u06cc\u0633\u062a \u0628\u0647 \u0627\u06cc\u0646 \u0645\u0648\u0636\u0648\u0639 \u0627\u0647\u0645\u06cc\u062a \u062f\u0647\u06cc\u062f.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"ZoneJS_%D8%A7%D8%AE%D8%AA%DB%8C%D8%A7%D8%B1%DB%8C\"><\/span>\n<p>  ZoneJS \u0627\u062e\u062a\u06cc\u0627\u0631\u06cc<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0627\u06af\u0631 \u06cc\u06a9 \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u0647 Angular \u0647\u0633\u062a\u06cc\u062f\u060c \u0645\u06cc \u062f\u0627\u0646\u06cc\u062f zone.js \u0686\u06cc\u0633\u062a.  \u0627\u06cc\u0646 \u0645\u0633\u0626\u0648\u0644 \u062a\u0645\u0627\u0645 \u062c\u0627\u062f\u0648\u0647\u0627\u06cc \u0645\u0648\u062c\u0648\u062f \u062f\u0631 Angular \u062f\u0631 \u0627\u0637\u0631\u0627\u0641 \u062a\u0634\u062e\u06cc\u0635 \u062a\u063a\u06cc\u06cc\u0631 \u0627\u0633\u062a.<\/p>\n<p>\u0627\u0645\u0627 \u062f\u0631 \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc \u0628\u0632\u0631\u06af \u0633\u0627\u0632\u0645\u0627\u0646\u06cc \u0634\u0631\u0648\u0639 \u0628\u0647 \u0627\u0631\u0627\u0626\u0647 \u0645\u0648\u0641\u0642\u06cc\u062a \u0647\u0627\u06cc \u0639\u0645\u0644\u06a9\u0631\u062f\u06cc \u0645\u06cc \u06a9\u0646\u062f \u0648 \u0633\u0627\u0632\u0645\u0627\u0646\u06cc \u062c\u0627\u06cc\u06cc \u0627\u0633\u062a \u06a9\u0647 Angular \u0645\u06cc \u062f\u0631\u062e\u0634\u062f.<\/p>\n<p>\u062f\u0631 \u0646\u0647\u0627\u06cc\u062a\u060c \u0645\u0627 \u06cc\u06a9 \u0645\u0646\u0637\u0642\u0647 \u0627\u062e\u062a\u06cc\u0627\u0631\u06cc \u0628\u0631\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc \u062e\u0648\u062f \u062e\u0648\u0627\u0647\u06cc\u0645 \u062f\u0627\u0634\u062a.  \u0633\u06cc\u06af\u0646\u0627\u0644\u200c\u0647\u0627 \u0628\u0647 Angular \u0645\u06cc\u200c\u0622\u06cc\u0646\u062f\u060c \u0648 zone.js \u0631\u0627 \u0627\u062e\u062a\u06cc\u0627\u0631\u06cc \u0645\u06cc\u200c\u06a9\u0646\u062f\u060c \u0648 \u062e\u0648\u0628 \u0627\u0633\u062a \u06a9\u0647 \u0628\u0627 \u0646\u0633\u062e\u0647\u200c\u0647\u0627\u06cc \u0642\u0628\u0644\u06cc \u0633\u0627\u0632\u06af\u0627\u0631 \u0627\u0633\u062a.  \u0627\u06cc\u0646 \u0628\u062f\u0627\u0646 \u0645\u0639\u0646\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0634\u0645\u0627 \u0647\u0646\u0648\u0632 \u0647\u0645 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u06cc\u06a9 \u0628\u0631\u0646\u0627\u0645\u0647 \u0645\u0648\u062c\u0648\u062f \u0628\u0627 zone.js \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f \u0648 \u0627\u06cc\u0646 \u0645\u0624\u0644\u0641\u0647 \u0647\u0627\u06cc \u062c\u062f\u06cc\u062f \u0631\u0627 \u06a9\u0647 \u0633\u06cc\u06af\u0646\u0627\u0644 \u0647\u0627 \u062f\u0631 \u06a9\u0646\u0627\u0631 \u0647\u0645 \u0647\u0633\u062a\u0646\u062f \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f.  \u0631\u0627\u0647 \u0647\u0627\u06cc\u06cc \u0628\u0631\u0627\u06cc \u063a\u06cc\u0631\u0641\u0639\u0627\u0644 \u06a9\u0631\u062f\u0646 zone.js \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f\u060c \u0627\u0645\u0627 \u062e\u06cc\u0644\u06cc \u0633\u0627\u062f\u0647 \u0646\u06cc\u0633\u062a.<\/p>\n<p>\u062f\u0631 \u0646\u0645\u0648\u0646\u0647 \u0632\u06cc\u0631 <code>signals: true<\/code> \u0645\u0644\u06a9 \u0628\u0647 \u0632\u0648\u062f\u06cc \u0641\u0631\u0648\u062f \u0645\u06cc \u0622\u06cc\u062f\u060c \u0627\u0645\u0627 \u062f\u0631 \u062f\u0633\u062a\u0631\u0633 \u0646\u06cc\u0633\u062a <code>16.0.0-next.7<\/code> \u0646\u0633\u062e\u0647<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight typescript\"><code><span class=\"k\">import<\/span> <span class=\"p\">{<\/span> <span class=\"nx\">Component<\/span><span class=\"p\">,<\/span> <span class=\"nx\">signal<\/span> <span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">@angular\/core<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">import<\/span> <span class=\"p\">{<\/span> <span class=\"nx\">CommonModule<\/span> <span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">@angular\/common<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n\n<span class=\"p\">@<\/span><span class=\"nd\">Component<\/span><span class=\"p\">({<\/span>\n  <span class=\"na\">selector<\/span><span class=\"p\">:<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">app-counter<\/span><span class=\"dl\">'<\/span><span class=\"p\">,<\/span>\n  <span class=\"na\">standalone<\/span><span class=\"p\">:<\/span> <span class=\"kc\">true<\/span><span class=\"p\">,<\/span>\n  <span class=\"na\">signals<\/span><span class=\"p\">:<\/span> <span class=\"kc\">true<\/span><span class=\"p\">,<\/span> <span class=\"c1\">\/\/ you can still try this code by commenting this line<\/span>\n  <span class=\"na\">imports<\/span><span class=\"p\">:<\/span> <span class=\"p\">[<\/span><span class=\"nx\">CommonModule<\/span><span class=\"p\">],<\/span>\n  <span class=\"na\">templateUrl<\/span><span class=\"p\">:<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">.\/counter.component.html<\/span><span class=\"dl\">'<\/span><span class=\"p\">,<\/span>\n  <span class=\"na\">styleUrls<\/span><span class=\"p\">:<\/span> <span class=\"p\">[<\/span><span class=\"dl\">'<\/span><span class=\"s1\">.\/counter.component.scss<\/span><span class=\"dl\">'<\/span><span class=\"p\">]<\/span>\n<span class=\"p\">})<\/span>\n<span class=\"k\">export<\/span> <span class=\"k\">default<\/span> <span class=\"kd\">class<\/span> <span class=\"nx\">CounterComponent<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nx\">count<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">signal<\/span><span class=\"p\">(<\/span><span class=\"mi\">0<\/span><span class=\"p\">);<\/span>\n\n  <span class=\"nx\">increment<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n    <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">count<\/span><span class=\"p\">.<\/span><span class=\"nx\">update<\/span><span class=\"p\">(<\/span><span class=\"nx\">n<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"nx\">n<\/span> <span class=\"o\">+<\/span> <span class=\"mi\">1<\/span><span class=\"p\">);<\/span>\n  <span class=\"p\">}<\/span>\n\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight xml\"><code><span class=\"nt\">&lt;p&gt;<\/span>counter works!<span class=\"nt\">&lt;\/p&gt;<\/span>\n{{ count() }}\n\n<span class=\"nt\">&lt;button<\/span> <span class=\"err\">(click)=\"increment()\"<\/span><span class=\"nt\">&gt;<\/span>Increment<span class=\"nt\">&lt;\/button&gt;<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0627\u0645\u0627 \u0633\u06cc\u06af\u0646\u0627\u0644 \u0647\u0627 \u0686\u06cc\u0632\u06cc \u0628\u06cc\u0634\u062a\u0631 \u0627\u0632 zone.js \u0627\u062e\u062a\u06cc\u0627\u0631\u06cc \u0631\u0627 \u0628\u0647 \u0627\u0631\u0645\u063a\u0627\u0646 \u062e\u0648\u0627\u0647\u0646\u062f \u0622\u0648\u0631\u062f.  \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u062f\u0631 \u0645\u0648\u0631\u062f RFC \u0628\u06cc\u0634\u062a\u0631 \u0628\u062e\u0648\u0627\u0646\u06cc\u062f<\/p>\n<p>https:\/\/github.com\/angular\/angular\/discussions\/49685<\/p>\n<p>https:\/\/github.com\/angular\/angular\/discussions\/49684<\/p>\n<p>https:\/\/github.com\/angular\/angular\/discussions\/49682<\/p>\n<p>https:\/\/github.com\/angular\/angular\/discussions\/49683<\/p>\n<p>https:\/\/github.com\/angular\/angular\/discussions\/49681<\/p>\n<h2><span class=\"ez-toc-section\" id=\"SSR_%D9%88_%D9%87%DB%8C%D8%AF%D8%B1%D8%A7%D8%AA%D8%A7%D8%B3%DB%8C%D9%88%D9%86\"><\/span>\n<p>  SSR \u0648 \u0647\u06cc\u062f\u0631\u0627\u062a\u0627\u0633\u06cc\u0648\u0646<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0627\u0645\u0631\u0648\u0632\u0647 SSR \u062f\u0631 Angular \u0645\u0634\u06a9\u0644\u0627\u062a \u0632\u06cc\u0627\u062f\u06cc \u062f\u0627\u0631\u062f.  SSR \u062f\u0631 Angular \u0646\u0633\u0628\u062a \u0628\u0647 \u0633\u0627\u06cc\u0631 \u0686\u0627\u0631\u0686\u0648\u0628\u200c\u0647\u0627\u06cc SSR \u0645\u0628\u062a\u0646\u06cc \u0628\u0631 React \u06cc\u0627 Vue \u06a9\u0645\u062a\u0631 \u0645\u0639\u0631\u0648\u0641 \u0627\u0633\u062a.  \u062a\u06cc\u0645 Angular \u0628\u0647\u0628\u0648\u062f \u062a\u062c\u0631\u0628\u0647 SSR \u0631\u0627 \u0622\u063a\u0627\u0632 \u06a9\u0631\u062f\u0647 \u0648 \u0627\u0648\u0644\u06cc\u0646 \u0648\u06cc\u0698\u06af\u06cc \u0631\u0627 \u0645\u0646\u062a\u0634\u0631 \u06a9\u0631\u062f\u0647 \u0627\u0633\u062a.<\/p>\n<blockquote class=\"ltag__twitter-tweet\" data-url=\"https:\/\/twitter.com\/mgechev\/status\/1643324830761259008\">\n<div class=\"ltag__twitter-tweet__main\" data-url=\"https:\/\/twitter.com\/mgechev\/status\/1643324830761259008\">\n<div class=\"ltag__twitter-tweet__body\">\n<p>      \u0645\u0627 \u0641\u0642\u0637 \u0647\u06cc\u062f\u0631\u0627\u062a\u0627\u0633\u06cc\u0648\u0646 \u0631\u0627 \u062f\u0631 Angular \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0631\u062f\u06cc\u0645!  \u0634\u0645\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0622\u0646 \u0631\u0627 \u062f\u0631 \u0646\u0633\u062e\u0647 \u0627\u0648\u0644\u06cc\u0647 \u0646\u0633\u062e\u0647 16 \u062f\u0631 \u0631\u0648\u0632 \u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647 \u0627\u0645\u062a\u062d\u0627\u0646 \u06a9\u0646\u06cc\u062f \ud83d\udd25<\/p>\n<p>&#8211; \u0628\u062f\u0648\u0646 \u0633\u0648\u0633\u0648 \u0632\u062f\u0646 \u0628\u0647 \u062f\u0644\u06cc\u0644 \u0631\u0646\u062f\u0631 \u0645\u062c\u062f\u062f \u0647\u0646\u06af\u0627\u0645 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 SSR<br \/>&#8211; Core Web Vitals \u0628\u0647\u062a\u0631.  45\u066a \u0628\u0647\u0628\u0648\u062f \u062f\u0631 LCP \u0628\u0631 \u0627\u0633\u0627\u0633 \u0622\u0632\u0645\u0627\u06cc\u0634 \u0627\u0648\u0644\u06cc\u0647<\/p>\n<p>github.com\/angular\/angula\u2026\n    <\/p>\n<\/div>\n<p>      18:49 \u0628\u0639\u062f \u0627\u0632 \u0638\u0647\u0631 &#8211; 04 \u0622\u0648\u0631\u06cc\u0644 2023\n    <\/p>\n<\/p><\/div>\n<\/blockquote>\n<h2><span class=\"ez-toc-section\" id=\"%D9%81%D8%B1%D9%85_%D9%87%D8%A7%DB%8C_%D8%AA%D8%A7%DB%8C%D9%BE_%D8%B4%D8%AF%D9%87\"><\/span>\n<p>  \u0641\u0631\u0645 \u0647\u0627\u06cc \u062a\u0627\u06cc\u067e \u0634\u062f\u0647<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Angular \u062f\u0627\u0631\u0627\u06cc \u0627\u0646\u0648\u0627\u0639 \u0641\u0631\u0645\u200c\u0647\u0627\u06cc ReactiveForms \u0648 Template Driven \u0627\u0633\u062a.  \u062c\u0627\u0645\u0639\u0647 \u0628\u0631\u0627\u06cc \u0645\u062f\u062a \u0637\u0648\u0644\u0627\u0646\u06cc \u0645\u06cc \u062e\u0648\u0627\u0633\u062a \u0641\u0631\u0645 \u0647\u0627 \u0631\u0627 \u062a\u0627\u06cc\u067e \u06a9\u0646\u062f \u0648 \u062f\u0631 \u0646\u0647\u0627\u06cc\u062a \u062f\u0631 Angular 14 \u0641\u0631\u0648\u062f \u0622\u0645\u062f.<\/p>\n<p>\u0628\u0644\u0647\u060c \u0627\u06a9\u0646\u0648\u0646 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0641\u0631\u0645\u200c\u0647\u0627\u06cc \u062a\u0627\u06cc\u067e\u200c\u0634\u062f\u0647 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f\u060c \u0648 \u0628\u0647 \u0627\u062d\u062a\u0645\u0627\u0644 \u0632\u06cc\u0627\u062f \u0627\u0632 \u0622\u0646\u200c\u0647\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight typescript\"><code>  <span class=\"nx\">form<\/span><span class=\"p\">:<\/span> <span class=\"nx\">FormGroup<\/span> <span class=\"o\">=<\/span> <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">fb<\/span><span class=\"p\">.<\/span><span class=\"nx\">group<\/span><span class=\"p\">({<\/span>\n    <span class=\"na\">name<\/span><span class=\"p\">:<\/span> <span class=\"k\">new<\/span> <span class=\"nx\">FormControl<\/span><span class=\"o\">&lt;<\/span><span class=\"kr\">string<\/span><span class=\"o\">&gt;<\/span><span class=\"p\">(<\/span><span class=\"dl\">''<\/span><span class=\"p\">),<\/span>\n    <span class=\"na\">salary<\/span><span class=\"p\">:<\/span> <span class=\"k\">new<\/span> <span class=\"nx\">FormControl<\/span><span class=\"o\">&lt;<\/span><span class=\"kr\">number<\/span><span class=\"o\">&gt;<\/span><span class=\"p\">(<\/span><span class=\"mi\">0<\/span><span class=\"p\">),<\/span>\n    <span class=\"na\">age<\/span><span class=\"p\">:<\/span> <span class=\"k\">new<\/span> <span class=\"nx\">FormControl<\/span><span class=\"o\">&lt;<\/span><span class=\"kr\">number<\/span><span class=\"o\">&gt;<\/span><span class=\"p\">(<\/span><span class=\"mi\">0<\/span><span class=\"p\">),<\/span>\n    <span class=\"na\">dob<\/span><span class=\"p\">:<\/span> <span class=\"k\">new<\/span> <span class=\"nx\">FormControl<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">Date<\/span><span class=\"o\">&gt;<\/span><span class=\"p\">(<\/span><span class=\"k\">new<\/span> <span class=\"nb\">Date<\/span><span class=\"p\">()),<\/span>\n  <span class=\"p\">});<\/span>\n<span class=\"kd\">constructor<\/span><span class=\"p\">(<\/span><span class=\"k\">private<\/span> <span class=\"nx\">fb<\/span><span class=\"p\">:<\/span> <span class=\"nx\">FormBuilder<\/span><span class=\"p\">)<\/span> <span class=\"p\">{}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0645\u0646 \u0633\u0639\u06cc \u06a9\u0631\u062f\u0645 \u062a\u0645\u0627\u0645 \u0686\u06cc\u0632\u0647\u0627\u06cc \u062e\u0627\u0631\u0642 \u0627\u0644\u0639\u0627\u062f\u0647 \u0627\u06cc \u0631\u0627 \u06a9\u0647 Angular \u0642\u0631\u0627\u0631 \u0627\u0633\u062a \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u06cc\u06a9 \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u0647 \u0628\u0631\u0627\u06cc \u0634\u0645\u0627 \u0627\u0631\u0627\u0626\u0647 \u062f\u0647\u062f\u060c \u062e\u0644\u0627\u0635\u0647 \u06a9\u0646\u0645.  \u0645\u0646 \u0628\u0647 \u062f\u0646\u0628\u0627\u0644 \u0633\u0631\u0645\u0627\u06cc\u0647\u200c\u06af\u0630\u0627\u0631\u06cc \u0639\u0627\u0644\u06cc \u062f\u0631 \u0622\u06cc\u0646\u062f\u0647 \u062f\u0631 Angular \u0647\u0633\u062a\u0645\u060c \u0647\u0645\u0627\u0646\u0637\u0648\u0631 \u06a9\u0647 \u0634\u0634 \u0633\u0627\u0644 \u067e\u06cc\u0634 \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 Angular \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0631\u062f\u0645 \u0648 \u0627\u0632 \u06cc\u06a9 \u062a\u0648\u0633\u0639\u0647\u200c\u062f\u0647\u0646\u062f\u0647 .Net \u0628\u0647 \u062a\u0648\u0633\u0639\u0647\u200c\u062f\u0647\u0646\u062f\u0647 Angular \u0645\u0646\u062a\u0642\u0644 \u0634\u062f\u0645\u060c \u0627\u0646\u062c\u0627\u0645 \u062f\u0627\u062f\u0645.<\/p>\n<p>\u0633\u0631\u0645\u0627\u06cc\u0647 \u06af\u0630\u0627\u0631\u06cc \u0648\u0642\u062a\u0645 \u0628\u0631\u0627\u06cc \u06cc\u0627\u062f\u06af\u06cc\u0631\u06cc \u0648 \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u0627\u0632 \u0641\u0631\u06cc\u0645 \u0648\u0631\u06a9 Angular \u062f\u0631 \u06af\u0630\u0634\u062a\u0647 \u0627\u0631\u0632\u0634\u0634 \u0631\u0627 \u062f\u0627\u0634\u062a\u060c \u06a9\u0647 \u0647\u0646\u0648\u0632 \u062f\u0631 \u062d\u0627\u0644 \u062a\u06a9\u0627\u0646 \u0627\u0633\u062a\u060c \u0648 \u0645\u0646 \u0645\u0637\u0645\u0626\u0646 \u0647\u0633\u062a\u0645 \u06a9\u0647 \u0628\u0627 \u0648\u06cc\u0698\u06af\u06cc \u0647\u0627\u06cc\u06cc \u0645\u0627\u0646\u0646\u062f \u0633\u06cc\u06af\u0646\u0627\u0644 \u0647\u0627\u060c \u062f\u0631 \u0622\u06cc\u0646\u062f\u0647 \u0646\u06cc\u0632 \u062e\u0648\u0627\u0647\u062f \u062f\u0631\u062e\u0634\u06cc\u062f.<\/p>\n<\/p><\/div>\n<p><script async src=\"\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0639\u06a9\u0633 \u062f\u0631\u0648 \u0628\u06cc\u0645\u0631 \u062f\u0631 Unsplash \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Angular \u0631\u0627 \u062f\u0631 \u0633\u0627\u0644 2017 \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u0646\u0633\u062e\u0647 4 \u0645\u0646\u062a\u0634\u0631 \u0634\u062f \u0634\u0631\u0648\u0639 \u06a9\u0631\u062f\u0645. \u0648 \u0645\u0646 \u0627\u0632 \u0622\u0646 \u0632\u0645\u0627\u0646 \u0634\u0627\u0647\u062f \u0631\u0634\u062f \u0627\u06cc\u0646 \u0686\u0627\u0631\u0686\u0648\u0628 \u0628\u0648\u062f\u0645. \u062f\u0631 \u0627\u06cc\u0646 \u0648\u0628\u0644\u0627\u06af\u060c \u0628\u06cc\u0627\u06cc\u06cc\u062f \u0628\u0628\u06cc\u0646\u06cc\u0645 \u06a9\u0647 \u0686\u0631\u0627 Angular \u0686\u0627\u0631\u0686\u0648\u0628\u06cc \u0627\u0632 \u06af\u0630\u0634\u062a\u0647\u060c \u062d\u0627\u0644 \u0648 \u0622\u06cc\u0646\u062f\u0647 \u0627\u0633\u062a. AngularJS \u062f\u0631 \u0633\u0627\u0644 2010 \u0645\u0646\u062a\u0634\u0631 \u0634\u062f \u0648 \u06cc\u06a9\u06cc \u0627\u0632 \u0627\u0648\u0644\u06cc\u0646 &hellip;<\/p>\n","protected":false},"author":2,"featured_media":16351,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[339],"tags":[],"class_list":["post-16345","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dev"],"_links":{"self":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/16345","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/comments?post=16345"}],"version-history":[{"count":0,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/16345\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media\/16351"}],"wp:attachment":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media?parent=16345"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/categories?post=16345"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/tags?post=16345"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}