{"id":8100,"date":"2023-02-24T01:27:47","date_gmt":"2023-02-23T21:57:47","guid":{"rendered":"https:\/\/nabfollower.com\/blog\/i-dont-need-a-state-manager-in-angular-or-am-i-just-delaying-his-arrival-1d3l\/"},"modified":"2023-02-24T01:27:47","modified_gmt":"2023-02-23T21:57:47","slug":"i-dont-need-a-state-manager-in-angular-or-am-i-just-delaying-his-arrival-1d3l","status":"publish","type":"post","link":"https:\/\/nabfollower.com\/blog\/i-dont-need-a-state-manager-in-angular-or-am-i-just-delaying-his-arrival-1d3l\/","title":{"rendered":"\u0645\u0646 \u0628\u0647 \u06cc\u06a9 \u0645\u062f\u06cc\u0631 \u062f\u0648\u0644\u062a\u06cc \u062f\u0631 \u0627\u0646\u06af\u0648\u0644\u0627\u0631 \u0646\u06cc\u0627\u0632 \u0646\u062f\u0627\u0631\u0645 \u06cc\u0627 \u0641\u0642\u0637 \u0648\u0631\u0648\u062f \u0627\u0648 \u0631\u0627 \u0628\u0647 \u062a\u0627\u062e\u06cc\u0631 \u0645\u06cc \u0627\u0646\u062f\u0627\u0632\u0645\u061f"},"content":{"rendered":"<div data-article-id=\"1377080\" id=\"article-body\">\n<p>\u0647\u0646\u06af\u0627\u0645\u06cc \u06a9\u0647 \u06cc\u06a9 Angular App \u0645\u06cc\u200c\u0633\u0627\u0632\u06cc\u0645\u060c \u0627\u0631\u062a\u0628\u0627\u0637 \u0628\u06cc\u0646 \u0645\u0624\u0644\u0641\u0647\u200c\u0647\u0627 \u0686\u06cc\u0632\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0628\u0627\u06cc\u062f \u0645\u0631\u0627\u0642\u0628 \u0622\u0646 \u0628\u0627\u0634\u06cc\u0645.  \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u0645 \u0628\u0627 \u0631\u0648\u06cc\u062f\u0627\u062f\u0647\u0627\u06cc \u0648\u0631\u0648\u062f\u06cc \u0648 \u062e\u0631\u0648\u062c\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0648\u0627\u0644\u062f\u06cc\u0646 \u0628\u0647 \u0641\u0631\u0632\u0646\u062f \u0631\u0627 \u0634\u0631\u0648\u0639 \u06a9\u0646\u06cc\u0645.  \u0641\u0642\u062f\u0627\u0646 \u0627\u0631\u062a\u0628\u0627\u0637 \u0648\u0631\u0648\u062f\u06cc \u0648 \u062e\u0631\u0648\u062c\u06cc \u062a\u0646\u0647\u0627 \u0627\u0631\u062a\u0628\u0627\u0637 \u0648\u0627\u0644\u062f\u06cc\u0646 \u0628\u0647 \u0641\u0631\u0632\u0646\u062f \u06cc\u0627 \u0628\u0631\u0639\u06a9\u0633 \u0627\u0633\u062a\u060c \u0627\u0645\u0627 \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u0628\u0631\u0646\u0627\u0645\u0647 \u0628\u0627 \u0645\u0633\u06cc\u0631\u06cc\u0627\u0628\u06cc \u0648 \u0628\u06cc\u0634\u062a\u0631 \u0627\u0632 \u0627\u062c\u0632\u0627\u06cc \u0648\u0627\u0644\u062f\u06cc\u0646 \u0648 \u0641\u0631\u0632\u0646\u062f\u0627\u0646 \u0634\u0631\u0648\u0639 \u0628\u0647 \u0631\u0634\u062f \u0645\u06cc \u06a9\u0646\u062f.  \u0627\u0632 \u0627\u06cc\u0646 \u0631\u0648\u060c \u06af\u0627\u0645 \u0628\u0639\u062f\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u062e\u062f\u0645\u0627\u062a Angular \u0628\u0627 \u0627\u0633\u062a <code>Rxjs<\/code>.<\/p>\n<p>\u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627\u06cc Rxjs \u062f\u0631 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0647\u0627\u06cc \u06a9\u0648\u0686\u06a9 \u0628\u0627 \u062d\u0627\u0644\u062a \u06a9\u0645 \u0628\u0647 \u062e\u0648\u0628\u06cc \u06a9\u0627\u0631 \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f.  \u062a\u0632\u0631\u06cc\u0642 \u06cc\u06a9 \u0633\u0631\u0648\u06cc\u0633 \u0628\u0627 a <code>BehaviorSubject<\/code> \u0628\u0631\u0627\u06cc \u0647\u0645\u06af\u0627\u0645 \u0646\u06af\u0647 \u062f\u0627\u0634\u062a\u0646 \u0622\u0646\u060c \u0622\u0646 \u0631\u0627 \u0645\u0634\u062a\u0631\u06a9 \u06a9\u0646\u06cc\u062f\u060c \u0627\u0645\u0627 \u0627\u06af\u0631 \u0628\u0631\u0646\u0627\u0645\u0647 \u0634\u0645\u0627 \u062f\u0627\u0631\u0627\u06cc \u0646\u0647\u0627\u062f\u0647\u0627\u060c \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0648 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc\u200c\u0647\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631 \u0632\u06cc\u0627\u062f\u06cc \u0627\u0633\u062a \u0648 \u0627\u06cc\u0646 \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u0628\u0627\u06cc\u062f \u062f\u0631 \u0686\u0646\u062f\u06cc\u0646 \u0645\u0624\u0644\u0641\u0647 \u0645\u0646\u0639\u06a9\u0633 \u06cc\u0627 \u0648\u0627\u06a9\u0646\u0634 \u0646\u0634\u0627\u0646 \u062f\u0647\u0646\u062f\u060c \u0641\u0642\u0637 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627 \u06a9\u0645\u06cc \u0633\u062e\u062a \u0645\u06cc\u200c\u0634\u0648\u062f \u06a9\u0647 \u0646\u06af\u0647\u062f\u0627\u0631\u06cc \u0634\u0648\u062f \u06cc\u0627 \u0634\u0627\u06cc\u062f \u0646\u0628\u0627\u0634\u062f.<\/p>\n<p>\u0645\u0627 \u0628\u0627\u06cc\u062f \u0627\u0632 \u0645\u0633\u0626\u0648\u0644\u06cc\u062a \u06cc\u06a9 \u062c\u0632\u0621 \u06cc\u0627 \u0632\u0645\u0627\u0646 \u0628\u0627\u0632\u0633\u0627\u0632\u06cc \u0622\u0646 \u0622\u06af\u0627\u0647 \u0628\u0627\u0634\u06cc\u0645.  \u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 \u0645\u0624\u0644\u0641\u0647 \u062c\u062f\u06cc\u062f \u0628\u0631\u0627\u06cc \u06cc\u06a9 \u0645\u062d\u062f\u0648\u062f\u0647 \u062e\u0627\u0635 \u0648 \u0645\u0631\u0627\u0642\u0628\u062a \u0627\u0632 \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u06cc\u06a9 \u0645\u0624\u0644\u0641\u0647 \u062f\u0627\u0631\u0627\u06cc \u062e\u062f\u0645\u0627\u062a \u0632\u06cc\u0627\u062f\u06cc \u062a\u0632\u0631\u06cc\u0642 \u0645\u06cc \u0634\u0648\u062f \u06cc\u06a9 \u067e\u0631\u0686\u0645 \u0642\u0631\u0645\u0632 \u0627\u0633\u062a.  \u0628\u06cc\u0627\u06cc\u06cc\u062f \u06cc\u06a9 \u0645\u062b\u0627\u0644 \u06a9\u0648\u0686\u06a9 \u0646\u0634\u0627\u0646 \u062f\u0647\u06cc\u0645.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_84 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=\"Toggle Table of Content\"><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\/i-dont-need-a-state-manager-in-angular-or-am-i-just-delaying-his-arrival-1d3l\/#%D8%B3%D9%86%D8%A7%D8%B1%DB%8C%D9%88\" >\u0633\u0646\u0627\u0631\u06cc\u0648<\/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\/i-dont-need-a-state-manager-in-angular-or-am-i-just-delaying-his-arrival-1d3l\/#%D8%B1%D8%A7%D9%87_%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%DB%8C_%D9%BE%D8%B1%D9%88%DA%98%D9%87\" >\u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u067e\u0631\u0648\u0698\u0647<\/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\/i-dont-need-a-state-manager-in-angular-or-am-i-just-delaying-his-arrival-1d3l\/#%D8%A7%D9%81%D8%B2%D9%88%D8%AF%D9%86_%D8%A7%DB%8C%D8%A7%D9%84%D8%AA_%D8%A8%D8%A7_%D8%AE%D8%AF%D9%85%D8%A7%D8%AA\" >\u0627\u0641\u0632\u0648\u062f\u0646 \u0627\u06cc\u0627\u0644\u062a \u0628\u0627 \u062e\u062f\u0645\u0627\u062a<\/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\/i-dont-need-a-state-manager-in-angular-or-am-i-just-delaying-his-arrival-1d3l\/#%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87_%D8%A7%D8%B2_%D9%88%D8%B6%D8%B9%DB%8C%D8%AA_%D8%AE%D8%AF%D9%85%D8%A7%D8%AA_%D8%AF%D8%B1_%DA%A9%D8%A7%D9%85%D9%BE%D9%88%D9%86%D9%86%D8%AA_%D9%87%D8%A7\" >\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0648\u0636\u0639\u06cc\u062a \u062e\u062f\u0645\u0627\u062a \u062f\u0631 \u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a \u0647\u0627<\/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\/i-dont-need-a-state-manager-in-angular-or-am-i-just-delaying-his-arrival-1d3l\/#%D8%AC%D8%B2%D8%A1_%D9%BE%D8%B1%D8%AF%D8%A7%D8%AE%D8%AA\" >\u062c\u0632\u0621 \u067e\u0631\u062f\u0627\u062e\u062a<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/nabfollower.com\/blog\/i-dont-need-a-state-manager-in-angular-or-am-i-just-delaying-his-arrival-1d3l\/#%D8%AC%D8%B2%D8%A1_%D8%B3%D9%81%D8%A7%D8%B1%D8%B4%D8%A7%D8%AA\" >\u062c\u0632\u0621 \u0633\u0641\u0627\u0631\u0634\u0627\u062a<\/a><\/li><\/ul><\/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\/i-dont-need-a-state-manager-in-angular-or-am-i-just-delaying-his-arrival-1d3l\/#%D8%A7%DB%8C%D8%A7%D9%84%D8%A7%D8%AA_%D8%B1%D8%A7_%D8%AA%D8%B1%DA%A9%DB%8C%D8%A8_%DA%A9%D9%86%DB%8C%D8%AF_%D9%88_%D9%87%D9%85%DA%AF%D8%A7%D9%85_%D8%B3%D8%A7%D8%B2%DB%8C_%DA%A9%D9%86%DB%8C%D8%AF\" >\u0627\u06cc\u0627\u0644\u0627\u062a \u0631\u0627 \u062a\u0631\u06a9\u06cc\u0628 \u06a9\u0646\u06cc\u062f \u0648 \u0647\u0645\u06af\u0627\u0645 \u0633\u0627\u0632\u06cc \u06a9\u0646\u06cc\u062f<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/nabfollower.com\/blog\/i-dont-need-a-state-manager-in-angular-or-am-i-just-delaying-his-arrival-1d3l\/#%D9%87%D9%85%D9%87_%D8%A7%DB%8C%D8%A7%D9%84%D8%A7%D8%AA_%D8%B1%D8%A7_%D8%AA%D8%B1%DA%A9%DB%8C%D8%A8_%DA%A9%D9%86%DB%8C%D8%AF\" >\u0647\u0645\u0647 \u0627\u06cc\u0627\u0644\u0627\u062a \u0631\u0627 \u062a\u0631\u06a9\u06cc\u0628 \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/nabfollower.com\/blog\/i-dont-need-a-state-manager-in-angular-or-am-i-just-delaying-his-arrival-1d3l\/#%D9%85%D9%88%D8%B6%D9%88%D8%B9_%D8%B1%D9%81%D8%AA%D8%A7%D8%B1_%D8%B1%D8%A7_%D9%85%D8%AA%D9%85%D8%B1%DA%A9%D8%B2_%DA%A9%D9%86%DB%8C%D8%AF\" >\u0645\u0648\u0636\u0648\u0639 \u0631\u0641\u062a\u0627\u0631 \u0631\u0627 \u0645\u062a\u0645\u0631\u06a9\u0632 \u06a9\u0646\u06cc\u062f<\/a><\/li><\/ul><\/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\/i-dont-need-a-state-manager-in-angular-or-am-i-just-delaying-his-arrival-1d3l\/#%D9%85%D8%B3%D8%A6%D9%88%D9%84%DB%8C%D8%AA_%D8%AC%D8%B2%D8%A1\" >\u0645\u0633\u0626\u0648\u0644\u06cc\u062a \u062c\u0632\u0621<\/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\/i-dont-need-a-state-manager-in-angular-or-am-i-just-delaying-his-arrival-1d3l\/#%D8%A7%D8%AC%D8%B2%D8%A7%DB%8C_Refactor\" >\u0627\u062c\u0632\u0627\u06cc Refactor<\/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\/i-dont-need-a-state-manager-in-angular-or-am-i-just-delaying-his-arrival-1d3l\/#%D8%A2%D9%86%DA%86%D9%87_%D9%85%DB%8C_%D8%A2%D9%85%D9%88%D8%B2%D9%85\" >\u0622\u0646\u0686\u0647 \u0645\u06cc \u0622\u0645\u0648\u0632\u0645<\/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\/i-dont-need-a-state-manager-in-angular-or-am-i-just-delaying-his-arrival-1d3l\/#%D8%A2%DB%8C%D8%A7_%D8%A8%D9%87_%D9%85%D8%AF%DB%8C%D8%B1_%D8%AF%D9%88%D9%84%D8%AA%DB%8C_%D9%86%DB%8C%D8%A7%D8%B2_%D8%AF%D8%A7%D8%B1%D9%85%D8%9F\" >\u0622\u06cc\u0627 \u0628\u0647 \u0645\u062f\u06cc\u0631 \u062f\u0648\u0644\u062a\u06cc \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u0645\u061f<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"%D8%B3%D9%86%D8%A7%D8%B1%DB%8C%D9%88\"><\/span>\n<p>  \u0633\u0646\u0627\u0631\u06cc\u0648<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0645\u0627 \u0628\u0627\u06cc\u062f \u06cc\u06a9 \u0628\u0631\u0646\u0627\u0645\u0647 \u0628\u0627 \u0628\u062e\u0634 \u0647\u0627\u06cc \u0632\u06cc\u0631 \u062e\u0627\u0646\u0647\u060c \u0646\u0645\u0627\u06cc\u0647\u060c \u0633\u0641\u0627\u0631\u0634\u0627\u062a \u0648 \u067e\u0631\u062f\u0627\u062e\u062a \u0628\u0633\u0627\u0632\u06cc\u0645.<\/p>\n<ul>\n<li>\n<p>\u0647\u0631 \u0628\u062e\u0634 \u0628\u0627\u06cc\u062f \u0627\u062c\u0627\u0632\u0647 \u0630\u062e\u06cc\u0631\u0647 \u062f\u0627\u062f\u0647 \u0647\u0627 \u062f\u0631 \u062d\u0627\u0644\u062a \u0631\u0627 \u0628\u062f\u0647\u062f.<\/p>\n<\/li>\n<li>\n<p>\u062e\u0627\u0646\u0647 \u0628\u0627\u06cc\u062f \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u0647\u0631 \u0628\u062e\u0634 \u0631\u0627 \u0627\u0631\u0627\u0626\u0647 \u062f\u0647\u062f.<\/p>\n<\/li>\n<li>\n<p>\u0647\u0631 \u0633\u0641\u0627\u0631\u0634 \u062a\u062e\u0641\u06cc\u0641 \u0627\u0632 \u0645\u0648\u062c\u0648\u062f\u06cc.<\/p>\n<\/li>\n<\/ul>\n<p>\u0645\u0627 \u0627\u0632 Rxjs Behavior Subject \u0628\u0631\u0627\u06cc \u062d\u0641\u0638 \u062d\u0627\u0644\u062a \u0648 \u0628\u0631\u062e\u06cc \u0627\u0632 \u0639\u0645\u0644\u06af\u0631\u0647\u0627\u06cc rxjs \u0628\u0631\u0627\u06cc \u0633\u0627\u062f\u0647 \u0633\u0627\u0632\u06cc \u0648 \u062a\u0631\u06a9\u06cc\u0628 \u0628\u0631\u062e\u06cc \u0627\u0632 \u0639\u0645\u0644\u06af\u0631\u0647\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u062e\u0648\u0627\u0647\u06cc\u0645 \u06a9\u0631\u062f.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D8%B1%D8%A7%D9%87_%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%DB%8C_%D9%BE%D8%B1%D9%88%DA%98%D9%87\"><\/span>\n<p>  \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u067e\u0631\u0648\u0698\u0647<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0627\u0628\u062a\u062f\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Angular CLI\u060c \u067e\u0631\u0648\u0698\u0647 \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code><span class=\"o\">&gt;<\/span> ng new angular-and-states\n? Would you like to add Angular routing? Yes\n? Which stylesheet format would you like to use? CSS\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>\u067e\u0633 \u0627\u0632 \u0627\u062a\u0645\u0627\u0645\u060c \u0627\u0632 \u062a\u0631\u0645\u06cc\u0646\u0627\u0644 \u0628\u0647 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u062c\u062f\u06cc\u062f \u0628\u0631\u0648\u06cc\u062f \u0648 \u062f\u0648 \u0635\u0641\u062d\u0647 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f. <code>home<\/code> \u0648 <code>settings<\/code> \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Angular\/CLI \u0648 \u0627\u062c\u0631\u0627\u06cc \u062f\u0633\u062a\u0648\u0631 <code>ng g c<\/code> \u0648 \u0646\u0627\u0645 \u062c\u0632\u0621<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>PS C:<span class=\"se\">\\U<\/span>sers<span class=\"se\">\\d<\/span>any.paredes<span class=\"se\">\\D<\/span>esktop<span class=\"se\">\\a<\/span>ngular-and-states&gt; ng g c \/pages\/payments\nCREATE src\/app\/pages\/payments\/payments.component.html <span class=\"o\">(<\/span>23 bytes<span class=\"o\">)<\/span>\nCREATE src\/app\/pages\/payments\/payments.component.spec.ts <span class=\"o\">(<\/span>640 bytes<span class=\"o\">)<\/span>\nCREATE src\/app\/pages\/payments\/payments.component.ts <span class=\"o\">(<\/span>283 bytes<span class=\"o\">)<\/span>\nCREATE src\/app\/pages\/payments\/payments.component.css <span class=\"o\">(<\/span>0 bytes<span class=\"o\">)<\/span>\nUPDATE src\/app\/app.module.ts <span class=\"o\">(<\/span>774 bytes<span class=\"o\">)<\/span>\nPS C:<span class=\"se\">\\U<\/span>sers<span class=\"se\">\\d<\/span>any.paredes<span class=\"se\">\\D<\/span>esktop<span class=\"se\">\\a<\/span>ngular-and-states&gt; ng g c \/pages\/orders  \nCREATE src\/app\/pages\/orders\/orders.component.html <span class=\"o\">(<\/span>21 bytes<span class=\"o\">)<\/span>\nCREATE src\/app\/pages\/orders\/orders.component.spec.ts <span class=\"o\">(<\/span>626 bytes<span class=\"o\">)<\/span>\nCREATE src\/app\/pages\/orders\/orders.component.ts <span class=\"o\">(<\/span>275 bytes<span class=\"o\">)<\/span>\nCREATE src\/app\/pages\/orders\/orders.component.css <span class=\"o\">(<\/span>0 bytes<span class=\"o\">)<\/span>\nUPDATE src\/app\/app.module.ts <span class=\"o\">(<\/span>862 bytes<span class=\"o\">)<\/span>\nPS C:<span class=\"se\">\\U<\/span>sers<span class=\"se\">\\d<\/span>any.paredes<span class=\"se\">\\D<\/span>esktop<span class=\"se\">\\a<\/span>ngular-and-states&gt; ng g c \/pages\/profile\nCREATE src\/app\/pages\/profile\/profile.component.html <span class=\"o\">(<\/span>22 bytes<span class=\"o\">)<\/span>\nCREATE src\/app\/pages\/profile\/profile.component.spec.ts <span class=\"o\">(<\/span>633 bytes<span class=\"o\">)<\/span>\nCREATE src\/app\/pages\/profile\/profile.component.ts <span class=\"o\">(<\/span>279 bytes<span class=\"o\">)<\/span>\nCREATE src\/app\/pages\/profile\/profile.component.css <span class=\"o\">(<\/span>0 bytes<span class=\"o\">)<\/span>\nUPDATE src\/app\/app.module.ts <span class=\"o\">(<\/span>954 bytes<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\u0631\u0627\u06cc \u067e\u06cc\u0645\u0627\u06cc\u0634\u060c \u0646\u0627\u0648\u0628\u0631\u06cc \u062c\u0632\u0621 \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0647\u0645\u0627\u0646 \u062f\u0633\u062a\u0648\u0631 \u0627\u0645\u0627 \u062f\u0631 \u0645\u0633\u06cc\u0631 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f <code>components<\/code>:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>ng g c \/components\/navigation\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>\u0646\u0634\u0627\u0646\u0647 \u06af\u0630\u0627\u0631\u06cc navigation.component.html \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u062f\u0633\u062a\u0648\u0631\u0627\u0644\u0639\u0645\u0644 \u0647\u0627 \u0628\u0631\u0627\u06cc \u067e\u06cc\u0645\u0627\u06cc\u0634 \u0628\u0647 \u0631\u0648\u0632 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight html\"><code><span class=\"nt\">&lt;a<\/span> <span class=\"na\">[routerLink]=<\/span><span class=\"s\">\"['']\"<\/span><span class=\"nt\">&gt;<\/span>Home<span class=\"nt\">&lt;\/a&gt;<\/span>\n<span class=\"nt\">&lt;a<\/span> <span class=\"na\">[routerLink]=<\/span><span class=\"s\">\"['payments']\"<\/span><span class=\"nt\">&gt;<\/span>Payments<span class=\"nt\">&lt;\/a&gt;<\/span>\n<span class=\"nt\">&lt;a<\/span> <span class=\"na\">[routerLink]=<\/span><span class=\"s\">\"['orders']\"<\/span><span class=\"nt\">&gt;<\/span>Orders<span class=\"nt\">&lt;\/a&gt;<\/span>\n<span class=\"nt\">&lt;a<\/span> <span class=\"na\">[routerLink]=<\/span><span class=\"s\">\"['profile']\"<\/span><span class=\"nt\">&gt;<\/span>Profile<span class=\"nt\">&lt;\/a&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>\u0633\u067e\u0633 \u0639\u0644\u0627\u0645\u062a \u06af\u0630\u0627\u0631\u06cc \u067e\u06cc\u0634 \u0641\u0631\u0636 \u0631\u0627 \u062f\u0631 \u0642\u0633\u0645\u062a \u062d\u0630\u0641 \u06a9\u0646\u06cc\u062f <code>app.component.html<\/code> \u0648 \u0639\u0644\u0627\u0645\u062a \u06af\u0630\u0627\u0631\u06cc \u0632\u06cc\u0631 \u0631\u0627 \u0628\u0627 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f <code>&lt;router-outlet&gt;&lt;\/router-outlet&gt;<\/code><\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>&lt;h1&gt;App&lt;\/h1&gt;\n&lt;app-navigation&gt;&lt;\/app-navigation&gt;\n&lt;router-outlet&gt;&lt;\/router-outlet&gt;\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\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u0645\u0633\u06cc\u0631\u0647\u0627 \u062f\u0631 <code>app-routing.module.ts<\/code><\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight typescript\"><code><span class=\"kd\">const<\/span> <span class=\"nx\">routes<\/span><span class=\"p\">:<\/span> <span class=\"nx\">Routes<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[<\/span>\n  <span class=\"p\">{<\/span>\n    <span class=\"na\">component<\/span><span class=\"p\">:<\/span> <span class=\"nx\">HomeComponent<\/span><span class=\"p\">,<\/span>\n    <span class=\"na\">path<\/span><span class=\"p\">:<\/span> <span class=\"dl\">''<\/span>\n  <span class=\"p\">},<\/span>\n  <span class=\"p\">{<\/span>\n    <span class=\"na\">component<\/span><span class=\"p\">:<\/span> <span class=\"nx\">OrdersComponent<\/span><span class=\"p\">,<\/span>\n    <span class=\"na\">path<\/span><span class=\"p\">:<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">orders<\/span><span class=\"dl\">'<\/span>\n  <span class=\"p\">},<\/span>\n\n  <span class=\"p\">{<\/span>\n    <span class=\"na\">component<\/span><span class=\"p\">:<\/span> <span class=\"nx\">PaymentsComponent<\/span><span class=\"p\">,<\/span>\n    <span class=\"na\">path<\/span><span class=\"p\">:<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">payments<\/span><span class=\"dl\">'<\/span>\n  <span class=\"p\">},<\/span>\n  <span class=\"p\">{<\/span>\n    <span class=\"na\">component<\/span><span class=\"p\">:<\/span> <span class=\"nx\">ProfileComponent<\/span><span class=\"p\">,<\/span>\n    <span class=\"na\">path<\/span><span class=\"p\">:<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">profile<\/span><span class=\"dl\">'<\/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<p>\u062f\u0633\u062a\u0648\u0631 \u0631\u0627 \u0630\u062e\u06cc\u0631\u0647 \u0648 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f <code>ng s -o<\/code>\u060c \u0648 \u0628\u0631\u0646\u0627\u0645\u0647 \u0628\u0627\u06cc\u062f \u0645\u0624\u0644\u0641\u0647 \u062e\u0627\u0646\u0647 \u0631\u0627 \u0628\u0627 \u067e\u06cc\u0645\u0627\u06cc\u0634 \u0627\u0631\u0627\u0626\u0647 \u062f\u0647\u062f.<\/p>\n<p><\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D8%A7%D9%81%D8%B2%D9%88%D8%AF%D9%86_%D8%A7%DB%8C%D8%A7%D9%84%D8%AA_%D8%A8%D8%A7_%D8%AE%D8%AF%D9%85%D8%A7%D8%AA\"><\/span>\n<p>  \u0627\u0641\u0632\u0648\u062f\u0646 \u0627\u06cc\u0627\u0644\u062a \u0628\u0627 \u062e\u062f\u0645\u0627\u062a<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0645\u0627 \u0628\u0627\u06cc\u062f \u0648\u0636\u0639\u06cc\u062a \u0631\u0627 \u0628\u0631\u0627\u06cc \u0647\u0631 \u0628\u062e\u0634 \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0646\u06cc\u0645\u060c \u0648 \u0628\u0631\u0627\u06cc \u0647\u0631 \u06cc\u06a9 \u0627\u0632 &#8220;\u067e\u0631\u0648\u0641\u0627\u06cc\u0644&#8221;\u060c &#8220;\u0633\u0641\u0627\u0631\u0634 \u0647\u0627&#8221; \u0648 &#8220;\u067e\u0631\u062f\u0627\u062e\u062a \u0647\u0627&#8221; \u06cc\u06a9 \u0633\u0631\u0648\u06cc\u0633 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u0645.<\/p>\n<p>\u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 <code>angular\/cli<\/code> \u0627\u062c\u0631\u0627 \u06a9\u0646 <code>ng g s \/services\/profile<\/code> \u0628\u0631\u0627\u06cc \u0628\u0647 \u0627\u0634\u062a\u0631\u0627\u06a9 \u06af\u0630\u0627\u0631\u06cc \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 \u0646\u0645\u0627\u06cc\u0647 \u0628\u06cc\u0646 \u0645\u0624\u0644\u0641\u0647 \u0647\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 <code>BehaviorSubject<\/code>.<\/p>\n<blockquote>\n<p>\u062f\u0631\u0628\u0627\u0631\u0647 BehaviorSubject \u0628\u06cc\u0634\u062a\u0631 \u0628\u062e\u0648\u0627\u0646\u06cc\u062f<\/p>\n<\/blockquote>\n<p>\u062f\u0648 \u0648\u06cc\u0698\u06af\u06cc \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f: &#8211;<code>nameSubject$<\/code> ss \u06cc\u06a9 \u0646\u0645\u0648\u0646\u0647 \u0627\u0632 <code>BehaviorSubject<\/code>\u060c \u0648 \u0628\u0627 \u0645\u0642\u062f\u0627\u0631 null \u0645\u0642\u062f\u0627\u0631\u062f\u0647\u06cc \u0627\u0648\u0644\u06cc\u0647 \u0645\u06cc \u0634\u0648\u062f.<\/p>\n<ul>\n<li>\u0627\u06cc\u0646 <code>name$<\/code> \u0627\u0645\u0648\u0627\u0644 \u0639\u0645\u0648\u0645\u06cc \u06a9\u0647 \u0641\u0627\u0634 \u0645\u06cc \u06a9\u0646\u062f <code>nameSubject<\/code> \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u06cc\u06a9 \u0642\u0627\u0628\u0644 \u0645\u0634\u0627\u0647\u062f\u0647\n<\/li>\n<\/ul>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight typescript\"><code><span class=\"p\">@<\/span><span class=\"nd\">Injectable<\/span><span class=\"p\">({<\/span>\n  <span class=\"na\">providedIn<\/span><span class=\"p\">:<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">root<\/span><span class=\"dl\">'<\/span>\n<span class=\"p\">})<\/span>\n<span class=\"k\">export<\/span> <span class=\"kd\">class<\/span> <span class=\"nx\">ProfileService<\/span> <span class=\"p\">{<\/span>\n\n  <span class=\"k\">private<\/span> <span class=\"nx\">nameSubject<\/span> <span class=\"o\">=<\/span> <span class=\"k\">new<\/span> <span class=\"nx\">BehaviorSubject<\/span><span class=\"o\">&lt;<\/span><span class=\"kr\">string<\/span> <span class=\"o\">|<\/span> <span class=\"kc\">null<\/span><span class=\"o\">&gt;<\/span><span class=\"p\">(<\/span><span class=\"kc\">null<\/span><span class=\"p\">);<\/span>\n  <span class=\"k\">public<\/span> <span class=\"nx\">name$<\/span> <span class=\"o\">=<\/span> <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">nameSubject<\/span><span class=\"p\">.<\/span><span class=\"nx\">asObservable<\/span><span class=\"p\">()<\/span>\n\n  <span class=\"k\">public<\/span> <span class=\"nx\">saveName<\/span><span class=\"p\">(<\/span><span class=\"nx\">name<\/span><span class=\"p\">:<\/span> <span class=\"kr\">string<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n    <span class=\"kd\">const<\/span> <span class=\"nx\">message<\/span> <span class=\"o\">=<\/span> <span class=\"s2\">`Hi <\/span><span class=\"p\">${<\/span><span class=\"nx\">name<\/span><span class=\"p\">}<\/span><span class=\"s2\"> `<\/span>\n    <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">nameSubject<\/span><span class=\"p\">.<\/span><span class=\"nx\">next<\/span><span class=\"p\">(<\/span><span class=\"nx\">message<\/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<p>\u0641\u0631\u0622\u06cc\u0646\u062f \u0631\u0627 \u0628\u0631\u0627\u06cc <code>PaymentService<\/code>\u060c \u06a9\u0647 \u0645\u0648\u062c\u0648\u062f\u06cc \u062d\u0633\u0627\u0628 \u0631\u0627 \u0646\u06af\u0647 \u0645\u06cc \u062f\u0627\u0631\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>ng g s \/services\/payments\nCREATE src\/app\/services\/payments.service.spec.ts <span class=\"o\">(<\/span>367 bytes<span class=\"o\">)<\/span>\nCREATE src\/app\/services\/payments.service.ts <span class=\"o\">(<\/span>137 bytes<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>\u0627\u06cc\u062c\u0627\u062f \u062f\u0648 \u0648\u06cc\u0698\u06af\u06cc\u060c <code>paymentSubject$<\/code> \u0634\u0631\u0648\u0639 \u0628\u0627 \u062a\u0639\u0627\u062f\u0644 \u062f\u0631 <code>0<\/code> \u0648 <code>paymentBalance$<\/code>\u0648 \u062f\u0648 \u0631\u0648\u0634 \u0627\u0636\u0627\u0641\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\">Injectable<\/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\">BehaviorSubject<\/span><span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">rxjs<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n\n<span class=\"p\">@<\/span><span class=\"nd\">Injectable<\/span><span class=\"p\">({<\/span>\n  <span class=\"na\">providedIn<\/span><span class=\"p\">:<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">root<\/span><span class=\"dl\">'<\/span>\n<span class=\"p\">})<\/span>\n<span class=\"k\">export<\/span> <span class=\"kd\">class<\/span> <span class=\"nx\">PaymentsService<\/span> <span class=\"p\">{<\/span>\n\n  <span class=\"k\">private<\/span> <span class=\"nx\">paymentSubject$<\/span> <span class=\"o\">=<\/span> <span class=\"k\">new<\/span> <span class=\"nx\">BehaviorSubject<\/span><span class=\"o\">&lt;<\/span><span class=\"kr\">number<\/span> <span class=\"o\">|<\/span> <span class=\"kc\">null<\/span><span class=\"o\">&gt;<\/span><span class=\"p\">(<\/span><span class=\"kc\">null<\/span><span class=\"p\">);<\/span>\n  <span class=\"k\">public<\/span> <span class=\"nx\">paymentBalance$<\/span> <span class=\"o\">=<\/span> <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">paymentSubject<\/span><span class=\"p\">.<\/span><span class=\"nx\">asObservable<\/span><span class=\"p\">()<\/span>\n\n  <span class=\"k\">public<\/span> <span class=\"nx\">updateBalance<\/span><span class=\"p\">(<\/span><span class=\"nx\">balance<\/span><span class=\"p\">:<\/span> <span class=\"kr\">number<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n    <span class=\"kd\">const<\/span> <span class=\"nx\">currentBalance<\/span> <span class=\"o\">=<\/span> <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">paymentSubject<\/span><span class=\"p\">.<\/span><span class=\"nx\">getValue<\/span><span class=\"p\">();<\/span>\n    <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"nx\">currentBalance<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n      <span class=\"kd\">const<\/span> <span class=\"nx\">totalBalance<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">currentBalance<\/span> <span class=\"o\">-<\/span> <span class=\"nx\">balance<\/span><span class=\"p\">;<\/span>\n      <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">paymentSubject$<\/span><span class=\"p\">.<\/span><span class=\"nx\">next<\/span><span class=\"p\">(<\/span><span class=\"nx\">totalBalance<\/span><span class=\"p\">);<\/span>\n    <span class=\"p\">}<\/span>\n  <span class=\"p\">}<\/span>\n\n  <span class=\"k\">public<\/span> <span class=\"nx\">addBalance<\/span><span class=\"p\">(<\/span><span class=\"nx\">balance<\/span><span class=\"p\">:<\/span> <span class=\"kr\">number<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n    <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">paymentSubject$<\/span><span class=\"p\">.<\/span><span class=\"nx\">next<\/span><span class=\"p\">(<\/span><span class=\"nx\">balance<\/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<p>\u062f\u0631 \u0646\u0647\u0627\u06cc\u062a\u060c \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f <code>OrdersServices<\/code> \u0628\u0631\u0627\u06cc \u0627\u0646\u062c\u0627\u0645 \u06a9\u0644\u06cc\u0647 \u0633\u0641\u0627\u0631\u0634\u0627\u062a<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>ng g s \/services\/orders  \nCREATE src\/app\/services\/orders.service.spec.ts <span class=\"o\">(<\/span>357 bytes<span class=\"o\">)<\/span>\nCREATE src\/app\/services\/orders.service.ts <span class=\"o\">(<\/span>135 bytes<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>\u0627\u06cc\u0646 \u0633\u0631\u0648\u06cc\u0633 \u062d\u0627\u0648\u06cc \u0622\u0631\u0627\u06cc\u0647 \u0627\u06cc \u0627\u0632 orderIds \u0627\u0633\u062a.<\/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\">Injectable<\/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\">BehaviorSubject<\/span><span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">rxjs\/internal\/BehaviorSubject<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n\n<span class=\"p\">@<\/span><span class=\"nd\">Injectable<\/span><span class=\"p\">({<\/span>\n  <span class=\"na\">providedIn<\/span><span class=\"p\">:<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">root<\/span><span class=\"dl\">'<\/span>\n<span class=\"p\">})<\/span>\n<span class=\"k\">export<\/span> <span class=\"kd\">class<\/span> <span class=\"nx\">OrdersService<\/span> <span class=\"p\">{<\/span>\n\n  <span class=\"k\">private<\/span> <span class=\"nx\">orderSubject<\/span> <span class=\"o\">=<\/span> <span class=\"k\">new<\/span> <span class=\"nx\">BehaviorSubject<\/span><span class=\"o\">&lt;<\/span><span class=\"kr\">number<\/span><span class=\"p\">[]<\/span><span class=\"o\">&gt;<\/span><span class=\"p\">([]);<\/span>\n  <span class=\"k\">public<\/span> <span class=\"nx\">orders$<\/span> <span class=\"o\">=<\/span> <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">orderSubject<\/span><span class=\"p\">.<\/span><span class=\"nx\">asObservable<\/span><span class=\"p\">()<\/span>\n\n  <span class=\"k\">public<\/span> <span class=\"nx\">addOrder<\/span><span class=\"p\">(<\/span><span class=\"nx\">orderId<\/span><span class=\"p\">:<\/span> <span class=\"kr\">number<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n    <span class=\"kd\">const<\/span> <span class=\"nx\">orders<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[...<\/span><span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">orderSubject<\/span><span class=\"p\">.<\/span><span class=\"nx\">value<\/span><span class=\"p\">,<\/span> <span class=\"nx\">orderId<\/span><span class=\"p\">]<\/span>\n    <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">orderSubject<\/span><span class=\"p\">.<\/span><span class=\"nx\">next<\/span><span class=\"p\">(<\/span><span class=\"nx\">orders<\/span><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<p>\u0645\u0627 \u062f\u0631 \u062d\u0627\u0644 \u062d\u0627\u0636\u0631 \u0627\u06cc\u0627\u0644\u0627\u062a \u062e\u062f\u0645\u0627\u062a \u062e\u0648\u062f \u0631\u0627 \u062f\u0627\u0631\u06cc\u0645.  \u062f\u0631 \u0645\u0631\u062d\u0644\u0647 \u0628\u0639\u062f\u060c \u0627\u0632 \u0627\u06cc\u0646 \u062e\u062f\u0645\u0627\u062a \u062f\u0631 \u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a \u0647\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u062e\u0648\u0627\u0647\u06cc\u0645 \u06a9\u0631\u062f.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87_%D8%A7%D8%B2_%D9%88%D8%B6%D8%B9%DB%8C%D8%AA_%D8%AE%D8%AF%D9%85%D8%A7%D8%AA_%D8%AF%D8%B1_%DA%A9%D8%A7%D9%85%D9%BE%D9%88%D9%86%D9%86%D8%AA_%D9%87%D8%A7\"><\/span>\n<p>  \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0648\u0636\u0639\u06cc\u062a \u062e\u062f\u0645\u0627\u062a \u062f\u0631 \u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a \u0647\u0627<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0645\u0627 \u062e\u062f\u0645\u0627\u062a\u06cc \u0628\u0631\u0627\u06cc \u0630\u062e\u06cc\u0631\u0647 \u062f\u0627\u062f\u0647 \u0647\u0627 \u062f\u0627\u0631\u06cc\u0645.  \u0642\u062f\u0645 \u0628\u0639\u062f\u06cc \u0645\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0622\u0646 \u062f\u0631 \u0647\u0631 \u0635\u0641\u062d\u0647 \u0627\u0633\u062a.  \u0641\u0631\u0622\u06cc\u0646\u062f \u062a\u0632\u0631\u06cc\u0642 \u0633\u0631\u0648\u06cc\u0633 \u0628\u0647 \u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a \u0648 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0631\u0648\u0634 \u0648 \u0645\u0648\u0636\u0648\u0639 \u0628\u0631\u0627\u06cc \u062f\u0631\u06cc\u0627\u0641\u062a \u0627\u0631\u0632\u0634 \u0627\u0632 \u0633\u0631\u0648\u06cc\u0633 \u0627\u0633\u062a.<\/p>\n<p>\u0627\u06cc\u0646 <code>ProfileComponent<\/code>\u060c \u0627\u0645\u06a9\u0627\u0646 \u0630\u062e\u06cc\u0631\u0647 \u0646\u0627\u0645 \u0627\u0648\u060c \u0630\u062e\u06cc\u0631\u0647 \u0622\u0646 \u062f\u0631 \u0642\u0627\u0628\u0644 \u0645\u0634\u0627\u0647\u062f\u0647 \u0648 \u0627\u0631\u0627\u0626\u0647 \u0622\u0646 \u0631\u0627 \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc \u06a9\u0646\u062f <code>saveName<\/code> \u0631\u0648\u0634 \u0627\u0632 \u0633\u0631\u0648\u06cc\u0633<\/p>\n<p>\u0627\u0628\u062a\u062f\u0627 \u0633\u0631\u0648\u06cc\u0633 \u0631\u0627 \u062a\u0632\u0631\u06cc\u0642 \u06a9\u0646\u06cc\u062f <code>ProfileService<\/code>\u060c \u0648 \u06cc\u06a9 \u0645\u062a\u063a\u06cc\u0631 \u062c\u062f\u06cc\u062f \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f <code>name$<\/code> \u0628\u0631\u0627\u06cc \u067e\u06cc\u0648\u0646\u062f \u0628\u0627 \u0642\u0627\u0628\u0644 \u0645\u0634\u0627\u0647\u062f\u0647 <code>name$<\/code> \u0627\u0632 \u0633\u0631\u0648\u06cc\u0633<\/p>\n<p>\u0628\u0639\u062f\u060c \u06cc\u06a9 \u0631\u0648\u0634 \u062c\u062f\u06cc\u062f \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f\u060c <code>save<\/code>\u060c \u0628\u0627 \u0646\u0627\u0645 \u067e\u0627\u0631\u0627\u0645\u062a\u0631\u060c \u062f\u0631 \u0628\u062f\u0646\u0647 \u0645\u062a\u062f\u060c \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 <code>saveName<\/code> \u0627\u0632 \u0633\u0631\u0648\u06cc\u0633<\/p>\n<p>\u06a9\u062f \u0646\u0647\u0627\u06cc\u06cc \u0628\u0647 \u0634\u06a9\u0644 \u0632\u06cc\u0631 \u0627\u0633\u062a:<\/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\">ProfileService<\/span> <span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">.\/..\/..\/services\/profile.service<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">import<\/span> <span class=\"p\">{<\/span> <span class=\"nx\">Component<\/span><span class=\"p\">,<\/span> <span class=\"nx\">inject<\/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\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-profile<\/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\">.\/profile.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\">.\/profile.component.css<\/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\">ProfileComponent<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nx\">name$<\/span> <span class=\"o\">=<\/span> <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">profileService<\/span><span class=\"p\">.<\/span><span class=\"nx\">name$<\/span><span class=\"p\">;<\/span>\n\n  <span class=\"kd\">constructor<\/span><span class=\"p\">(<\/span><span class=\"k\">private<\/span> <span class=\"nx\">profileService<\/span><span class=\"p\">:<\/span> <span class=\"nx\">ProfileService<\/span><span class=\"p\">)<\/span> <span class=\"p\">{}<\/span>\n\n  <span class=\"nx\">save<\/span><span class=\"p\">(<\/span><span class=\"nx\">name<\/span><span class=\"p\">:<\/span> <span class=\"kr\">string<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n    <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">profileService<\/span><span class=\"p\">.<\/span><span class=\"nx\">saveName<\/span><span class=\"p\">(<\/span><span class=\"nx\">name<\/span><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<p>\u062f\u0631 \u0646\u0634\u0627\u0646\u0647 \u06af\u0630\u0627\u0631\u06cc HTML \u0645\u0624\u0644\u0641\u0647\u060c \u06cc\u06a9 \u0648\u0631\u0648\u062f\u06cc \u062c\u062f\u06cc\u062f \u0628\u0627 \u0645\u062a\u063a\u06cc\u0631 \u0627\u0644\u06af\u0648 #name \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0628\u0647 \u0645\u0642\u062f\u0627\u0631 \u0648\u0631\u0648\u062f\u06cc \u062f\u0633\u062a\u0631\u0633\u06cc \u067e\u06cc\u062f\u0627 \u06a9\u0646\u06cc\u062f\u060c \u0648 \u06cc\u06a9 \u062f\u06a9\u0645\u0647 \u0628\u0631\u0627\u06cc \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f. <code>save<\/code> \u0631\u0648\u0634\u060c \u0639\u0628\u0648\u0631 \u0627\u0632 \u0645\u062a\u063a\u06cc\u0631 <code>name.value<\/code> \u0628\u0647 \u0631\u0648\u0634 \u0627\u0634\u0627\u0631\u0647 \u062f\u0627\u0631\u062f.<\/p>\n<p>\u0628\u0631\u0627\u06cc \u0627\u0631\u0627\u0626\u0647 \u0646\u0627\u0645\u060c \u0627\u0632 \u0644\u0648\u0644\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f <code>async<\/code> \u0627\u0634\u062a\u0631\u0627\u06a9 \u062f\u0631 <code>name$<\/code> \u0642\u0627\u0628\u0644 \u0645\u0634\u0627\u0647\u062f\u0647 \u0628\u0631\u0627\u06cc \u0646\u0634\u0627\u0646 \u062f\u0627\u062f\u0646 <code>nameSaved<\/code> \u062f\u0631 \u062e\u062f\u0645\u062a<\/p>\n<p>\u06a9\u062f \u0646\u0647\u0627\u06cc\u06cc \u0628\u0647 \u0634\u06a9\u0644 \u0632\u06cc\u0631 \u0627\u0633\u062a:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight html\"><code><span class=\"nt\">&lt;h3&gt;<\/span>Please type your Name:<span class=\"nt\">&lt;\/h3&gt;<\/span>\n<span class=\"nt\">&lt;input<\/span> <span class=\"na\">#name<\/span> <span class=\"na\">type=<\/span><span class=\"s\">\"text\"<\/span><span class=\"nt\">&gt;<\/span>\n<span class=\"nt\">&lt;button<\/span> <span class=\"na\">(click)=<\/span><span class=\"s\">\"save(name.value)\"<\/span><span class=\"nt\">&gt;<\/span>Save<span class=\"nt\">&lt;\/button&gt;<\/span>\n<span class=\"nt\">&lt;span<\/span> <span class=\"na\">*ngIf=<\/span><span class=\"s\">\"(name$ | async ) as nameSaved\"<\/span><span class=\"nt\">&gt;<\/span>{{nameSaved}}<span class=\"nt\">&lt;\/span&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>\u0645\u0627 \u0642\u0628\u0644\u0627\u064b \u0648\u0636\u0639\u06cc\u062a \u0631\u0627 \u0628\u0631\u0627\u06cc \u0628\u062e\u0634 \u0646\u0645\u0627\u06cc\u0647 \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0631\u062f\u06cc\u0645\u060c \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u0631\u0627 \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0631\u062f\u06cc\u0645 \u0648 \u0628\u0631\u0646\u0627\u0645\u0647 \u0631\u0627 \u0628\u0627 \u0622\u0646 \u0627\u062c\u0631\u0627 \u06a9\u0631\u062f\u06cc\u0645 <code>ng s -o<\/code>.  \u0628\u0631\u0646\u0627\u0645\u0647 \u0631\u0627 \u0628\u0647 \u0628\u062e\u0634 \u0646\u0645\u0627\u06cc\u0647 \u0628\u0627\u0632 \u0645\u06cc \u06a9\u0646\u062f\u060c \u0646\u0627\u0645 \u0634\u0645\u0627 \u0631\u0627 \u0627\u0636\u0627\u0641\u0647 \u0645\u06cc \u06a9\u0646\u062f \u0648 \u0628\u06cc\u0646 \u0628\u062e\u0634 \u0647\u0627\u06cc \u062f\u06cc\u06af\u0631 \u062d\u0631\u06a9\u062a \u0645\u06cc \u06a9\u0646\u062f \u0648 \u0646\u0627\u0645 \u0631\u0627 \u0630\u062e\u06cc\u0631\u0647 \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/practicaldev\/image\/fetch\/s--vZ-DDFzd--\/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880\/https:\/\/cdn.hashnode.com\/res\/hashnode\/image\/upload\/v1676645347108\/021c6389-6c31-464b-834d-8fe3c0206e33.gif%2520align%3D%2522center%2522\" alt=\"\" loading=\"lazy\" width=\"\" height=\"\" title=\"\"><\/p>\n<p>\u0628\u0631\u0627\u06cc \u067e\u0631\u062f\u0627\u062e\u062a \u0647\u0645\u06cc\u0646 \u0645\u0631\u0627\u062d\u0644 \u0631\u0627 \u062a\u06a9\u0631\u0627\u0631 \u06a9\u0646\u06cc\u062f.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D8%AC%D8%B2%D8%A1_%D9%BE%D8%B1%D8%AF%D8%A7%D8%AE%D8%AA\"><\/span>\n<p>  \u062c\u0632\u0621 \u067e\u0631\u062f\u0627\u062e\u062a<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\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\">PaymentsService<\/span><span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">.\/..\/..\/services\/payments.service<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">import<\/span> <span class=\"p\">{<\/span><span class=\"nx\">Component<\/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\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-payments<\/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\">.\/payments.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\">.\/payments.component.css<\/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\">PaymentsComponent<\/span> <span class=\"p\">{<\/span>\n\n  <span class=\"nx\">balance$<\/span> <span class=\"o\">=<\/span> <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">paymentService<\/span><span class=\"p\">.<\/span><span class=\"nx\">paymentBalance$<\/span><span class=\"p\">;<\/span>\n\n  <span class=\"kd\">constructor<\/span><span class=\"p\">(<\/span><span class=\"k\">private<\/span> <span class=\"nx\">paymentService<\/span><span class=\"p\">:<\/span> <span class=\"nx\">PaymentsService<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n\n  <span class=\"p\">}<\/span>\n\n  <span class=\"nx\">updateBalance<\/span><span class=\"p\">(<\/span><span class=\"nx\">balance<\/span><span class=\"p\">:<\/span> <span class=\"nx\">HTMLInputElement<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n    <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">paymentService<\/span><span class=\"p\">.<\/span><span class=\"nx\">addBalance<\/span><span class=\"p\">(<\/span><span class=\"nx\">balance<\/span><span class=\"p\">.<\/span><span class=\"nx\">valueAsNumber<\/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<p>\u0646\u0634\u0627\u0646\u0647 \u06af\u0630\u0627\u0631\u06cc HTML \u0631\u0627 \u0628\u0627 \u0648\u0631\u0648\u062f\u06cc \u0648 \u062f\u06a9\u0645\u0647 \u0628\u0647 \u0631\u0648\u0632 \u06a9\u0646\u06cc\u062f \u0648 \u062f\u0631 \u062a\u0639\u0627\u062f\u0644$ \u0642\u0627\u0628\u0644 \u0645\u0634\u0627\u0647\u062f\u0647 \u0645\u0634\u062a\u0631\u06a9 \u0634\u0648\u06cc\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight html\"><code><span class=\"nt\">&lt;h2&gt;<\/span>Add balance:<span class=\"nt\">&lt;\/h2&gt;<\/span>\n<span class=\"nt\">&lt;input<\/span> <span class=\"na\">#payment<\/span> <span class=\"na\">type=<\/span><span class=\"s\">\"number\"<\/span><span class=\"nt\">&gt;<\/span>\n<span class=\"nt\">&lt;button<\/span> <span class=\"na\">(click)=<\/span><span class=\"s\">\"updateBalance(payment)\"<\/span><span class=\"nt\">&gt;<\/span>Update<span class=\"nt\">&lt;\/button&gt;<\/span>\n<span class=\"nt\">&lt;span<\/span> <span class=\"na\">*ngIf=<\/span><span class=\"s\">\"(balance$ | async ) as balance\"<\/span><span class=\"nt\">&gt;<\/span>You current Balance is: {{balance$ | currency}}<span class=\"nt\">&lt;\/span&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<h3><span class=\"ez-toc-section\" id=\"%D8%AC%D8%B2%D8%A1_%D8%B3%D9%81%D8%A7%D8%B1%D8%B4%D8%A7%D8%AA\"><\/span>\n<p>  \u062c\u0632\u0621 \u0633\u0641\u0627\u0631\u0634\u0627\u062a<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0641\u0631\u0622\u06cc\u0646\u062f \u0631\u0627 \u0628\u0627 \u062f\u0633\u062a\u0648\u0631\u0627\u062a \u062a\u06a9\u0631\u0627\u0631 \u06a9\u0646\u06cc\u062f \u0627\u0645\u0627 \u0628\u0627 \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u062c\u0632\u0626\u06cc\u060c \u062a\u0646\u0647\u0627 \u062a\u0641\u0627\u0648\u062a \u0627\u06cc\u0646 \u0627\u0633\u062a \u06a9\u0647 \u0633\u0641\u0627\u0631\u0634\u0627\u062a \u06cc\u06a9 \u0622\u0631\u0627\u06cc\u0647 \u0647\u0633\u062a\u0646\u062f \u0648 \u0645\u0627 \u0627\u0632 <code>ngFor<\/code> \u0628\u0631\u0627\u06cc \u0627\u0631\u0627\u0626\u0647 \u062a\u0645\u0627\u0645 \u0628\u062e\u0634 \u0647\u0627<\/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\">OrdersService<\/span> <span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">src\/app\/services\/orders.service<\/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-orders<\/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\">.\/orders.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\">.\/orders.component.css<\/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\">OrdersComponent<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nx\">orders$<\/span> <span class=\"o\">=<\/span> <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">ordersService<\/span><span class=\"p\">.<\/span><span class=\"nx\">orders$<\/span><span class=\"p\">;<\/span>\n\n  <span class=\"kd\">constructor<\/span><span class=\"p\">(<\/span><span class=\"k\">private<\/span> <span class=\"nx\">ordersService<\/span><span class=\"p\">:<\/span> <span class=\"nx\">OrdersService<\/span><span class=\"p\">)<\/span> <span class=\"p\">{}<\/span>\n\n  <span class=\"nx\">addOrder<\/span><span class=\"p\">(<\/span><span class=\"nx\">order<\/span><span class=\"p\">:<\/span> <span class=\"nx\">HTMLInputElement<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n    <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"nx\">order<\/span><span class=\"p\">.<\/span><span class=\"nx\">value<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n      <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">ordersService<\/span><span class=\"p\">.<\/span><span class=\"nx\">addOrder<\/span><span class=\"p\">(<\/span><span class=\"nx\">order<\/span><span class=\"p\">.<\/span><span class=\"nx\">valueAsNumber<\/span><span class=\"p\">);<\/span>\n      <span class=\"nx\">order<\/span><span class=\"p\">.<\/span><span class=\"nx\">value<\/span> <span class=\"o\">=<\/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<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight html\"><code><span class=\"nt\">&lt;h2&gt;<\/span>Add your order<span class=\"nt\">&lt;\/h2&gt;<\/span>\n<span class=\"nt\">&lt;input<\/span> <span class=\"na\">#order<\/span> <span class=\"na\">type=<\/span><span class=\"s\">\"number\"<\/span><span class=\"nt\">&gt;<\/span>\n<span class=\"nt\">&lt;button<\/span> <span class=\"na\">(click)=<\/span><span class=\"s\">\"addOrder(order)\"<\/span><span class=\"nt\">&gt;<\/span>add order<span class=\"nt\">&lt;\/button&gt;<\/span>\n<span class=\"nt\">&lt;div<\/span> <span class=\"na\">*ngIf=<\/span><span class=\"s\">\"(orders$ | async ) as orders\"<\/span><span class=\"nt\">&gt;<\/span>\n  Your current active orders are:\n  <span class=\"nt\">&lt;div<\/span> <span class=\"na\">*ngFor=<\/span><span class=\"s\">\"let order of orders\"<\/span><span class=\"nt\">&gt;<\/span>\n    {{order}}\n  <span class=\"nt\">&lt;\/div&gt;<\/span>\n<span class=\"nt\">&lt;\/div&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>\u062f\u0631 \u0646\u0647\u0627\u06cc\u062a\u060c \u0645\u0627 \u06cc\u06a9 \u062d\u0627\u0644\u062a \u062f\u0631 \u0645\u0648\u062c\u0648\u062f\u06cc\u062a\u200c\u0647\u0627\u06cc \u062e\u0648\u062f \u062f\u0627\u0631\u06cc\u0645 \u0648 \u0686\u0627\u0644\u0634 \u0628\u0639\u062f\u06cc \u062e\u0648\u0627\u0646\u062f\u0646 \u0645\u0642\u062f\u0627\u0631 \u0647\u0631 \u0633\u0631\u0648\u06cc\u0633 \u0628\u0631\u0627\u06cc \u0646\u0645\u0627\u06cc\u0634 \u062f\u0627\u062f\u0647\u200c\u0647\u0627 \u062f\u0631 \u0645\u0624\u0644\u0641\u0647 \u062e\u0627\u0646\u0647 \u0627\u0633\u062a.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/practicaldev\/image\/fetch\/s--sXP72js_--\/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880\/https:\/\/cdn.hashnode.com\/res\/hashnode\/image\/upload\/v1676645375711\/7b30ec74-51b9-49e1-bd9a-2342e878ea7d.gif%2520align%3D%2522center%2522\" alt=\"\" loading=\"lazy\" width=\"\" height=\"\" title=\"\"><\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D8%A7%DB%8C%D8%A7%D9%84%D8%A7%D8%AA_%D8%B1%D8%A7_%D8%AA%D8%B1%DA%A9%DB%8C%D8%A8_%DA%A9%D9%86%DB%8C%D8%AF_%D9%88_%D9%87%D9%85%DA%AF%D8%A7%D9%85_%D8%B3%D8%A7%D8%B2%DB%8C_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  \u0627\u06cc\u0627\u0644\u0627\u062a \u0631\u0627 \u062a\u0631\u06a9\u06cc\u0628 \u06a9\u0646\u06cc\u062f \u0648 \u0647\u0645\u06af\u0627\u0645 \u0633\u0627\u0632\u06cc \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0645\u0627 \u062f\u0631 \u0628\u0631\u0646\u0627\u0645\u0647 \u062e\u0648\u062f \u0633\u0647 \u0645\u0642\u062f\u0627\u0631 \u062f\u0627\u0631\u06cc\u0645:<\/p>\n<ul>\n<li>\n<p>\u0645\u0627\u0646\u062f\u0647 \u067e\u0631\u062f\u0627\u062e\u062a<\/p>\n<\/li>\n<li>\n<p>\u0627\u0637\u0644\u0627\u0639\u0627\u062a \u067e\u0631\u0648\u0641\u0627\u06cc\u0644<\/p>\n<\/li>\n<li>\n<p>\u0633\u0641\u0627\u0631\u0634\u0627\u062a<\/p>\n<\/li>\n<\/ul>\n<p>\u0627\u0648\u0644\u06cc\u0646 \u0686\u0627\u0644\u0634 \u0645\u0627 \u0647\u0646\u06af\u0627\u0645 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u06cc\u06a9 \u0633\u0641\u0627\u0631\u0634 \u062c\u062f\u06cc\u062f \u062f\u0631 <code>OrderComponent<\/code> \u0628\u0631\u0627\u06cc \u062a\u062e\u0641\u06cc\u0641 \u0645\u0648\u062c\u0648\u062f\u06cc \u062f\u0631 <code>paymentService<\/code>.<\/p>\n<p>\u062f\u0631 <code>orders.component<\/code>\u060c \u0628\u0627\u06cc\u062f \u0628\u0647 \u0646\u06a9\u0627\u062a \u0632\u06cc\u0631 \u0627\u0634\u0627\u0631\u0647 \u06a9\u0646\u06cc\u0645:<\/p>\n<ul>\n<li>\n<p>\u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 <code>paymentService<\/code> \u0648 <code>ordersService<\/code> \u062f\u0631 \u0633\u0627\u0632\u0646\u062f\u0647<\/p>\n<\/li>\n<li>\n<p>\u06cc\u06a9 \u0645\u062a\u063a\u06cc\u0631 \u062c\u062f\u06cc\u062f \u0628\u0631\u0627\u06cc \u0630\u062e\u06cc\u0631\u0647 \u0633\u0627\u0632\u06cc \u0627\u0639\u0644\u0627\u0645 \u06a9\u0646\u06cc\u062f <code>currentBalance<\/code>.<\/p>\n<\/li>\n<li>\n<p>\u0631\u0627 \u0648\u06cc\u0631\u0627\u06cc\u0634 \u06a9\u0646\u06cc\u062f <code>addOrder<\/code> \u0628\u0631\u0627\u06cc \u0628\u0647 \u0631\u0648\u0632 \u0631\u0633\u0627\u0646\u06cc \u0645\u0648\u062c\u0648\u062f\u06cc \u0628\u0627 <code>2<\/code> \u0647\u0646\u06af\u0627\u0645 \u0627\u0631\u0633\u0627\u0644 \u0633\u0641\u0627\u0631\u0634<\/p>\n<\/li>\n<\/ul>\n<p>\u06a9\u062f \u0646\u0647\u0627\u06cc\u06cc \u0628\u0647 \u0634\u06a9\u0644 \u0632\u06cc\u0631 \u0627\u0633\u062a:<\/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\">PaymentsService<\/span><span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">..\/..\/services\/payments.service<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">import<\/span> <span class=\"p\">{<\/span><span class=\"nx\">Component<\/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\">OrdersService<\/span><span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">src\/app\/services\/orders.service<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">import<\/span> <span class=\"p\">{<\/span><span class=\"nx\">startWith<\/span><span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">rxjs\/operators<\/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-orders<\/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\">.\/orders.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\">.\/orders.component.css<\/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\">OrdersComponent<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nx\">orders$<\/span> <span class=\"o\">=<\/span> <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">ordersService<\/span><span class=\"p\">.<\/span><span class=\"nx\">orders$<\/span><span class=\"p\">;<\/span>\n  <span class=\"nx\">currentBalance$<\/span> <span class=\"o\">=<\/span> <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">paymentService<\/span><span class=\"p\">.<\/span><span class=\"nx\">paymentBalance$<\/span>\n\n  <span class=\"kd\">constructor<\/span><span class=\"p\">(<\/span>\n    <span class=\"k\">private<\/span> <span class=\"nx\">ordersService<\/span><span class=\"p\">:<\/span> <span class=\"nx\">OrdersService<\/span><span class=\"p\">,<\/span>\n    <span class=\"k\">private<\/span> <span class=\"nx\">paymentService<\/span><span class=\"p\">:<\/span> <span class=\"nx\">PaymentsService<\/span>\n  <span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n\n  <span class=\"p\">}<\/span>\n\n  <span class=\"nx\">addOrder<\/span><span class=\"p\">(<\/span><span class=\"nx\">order<\/span><span class=\"p\">:<\/span> <span class=\"nx\">HTMLInputElement<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n    <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">ordersService<\/span><span class=\"p\">.<\/span><span class=\"nx\">addOrder<\/span><span class=\"p\">(<\/span><span class=\"nx\">order<\/span><span class=\"p\">.<\/span><span class=\"nx\">valueAsNumber<\/span><span class=\"p\">);<\/span>\n    <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">paymentService<\/span><span class=\"p\">.<\/span><span class=\"nx\">updateBalance<\/span><span class=\"p\">(<\/span><span class=\"mi\">2<\/span><span class=\"p\">);<\/span>\n    <span class=\"nx\">order<\/span><span class=\"p\">.<\/span><span class=\"nx\">value<\/span> <span class=\"o\">=<\/span> <span class=\"dl\">''<\/span><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<p>\u062f\u0631 \u0646\u0634\u0627\u0646\u0647 \u06af\u0630\u0627\u0631\u06cc HTML\u060c \u0627\u0634\u062a\u0631\u0627\u06a9 \u0631\u0627 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f <code>currentBalance$<\/code>.  \u0627\u06af\u0631 \u0646\u0647\u060c \u0627\u0644\u06af\u0648 \u0631\u0627 \u0646\u0634\u0627\u0646 \u062f\u0647\u06cc\u062f <code>noBalance<\/code> \u0648 \u062f\u06a9\u0645\u0647 \u0631\u0627 \u063a\u06cc\u0631\u0641\u0639\u0627\u0644 \u06a9\u0646\u06cc\u062f \u0627\u06af\u0631 balance= 0 \u0628\u0627\u0634\u062f\u060c \u06a9\u062f \u0646\u0647\u0627\u06cc\u06cc \u0628\u0647 \u0634\u06a9\u0644 \u0632\u06cc\u0631 \u0627\u0633\u062a:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight html\"><code><span class=\"nt\">&lt;div<\/span> <span class=\"na\">*ngIf=<\/span><span class=\"s\">\"currentBalance$ | async as balance; else noBalance\"<\/span><span class=\"nt\">&gt;<\/span>\n  <span class=\"nt\">&lt;h2&gt;<\/span>You have {{balance | currency }} as balance, add your orders<span class=\"nt\">&lt;\/h2&gt;<\/span>\n  <span class=\"nt\">&lt;input<\/span> <span class=\"na\">#order<\/span> <span class=\"na\">type=<\/span><span class=\"s\">\"number\"<\/span><span class=\"nt\">&gt;<\/span>\n  <span class=\"nt\">&lt;button<\/span> <span class=\"na\">(click)=<\/span><span class=\"s\">\"addOrder(order)\"<\/span> <span class=\"na\">[disabled]=<\/span><span class=\"s\">\"balance &lt;= 0\"<\/span><span class=\"nt\">&gt;<\/span>add order<span class=\"nt\">&lt;\/button&gt;<\/span>\n<span class=\"nt\">&lt;\/div&gt;<\/span>\n<span class=\"nt\">&lt;ng-template<\/span> <span class=\"na\">#noBalance<\/span><span class=\"nt\">&gt;<\/span>\n  <span class=\"nt\">&lt;h2&gt;<\/span> Insuficient Balance, please add.<span class=\"nt\">&lt;\/h2&gt;<\/span>\n<span class=\"nt\">&lt;\/ng-template&gt;<\/span>\n<span class=\"nt\">&lt;div<\/span> <span class=\"na\">*ngIf=<\/span><span class=\"s\">\"orders$ | async  as orders\"<\/span><span class=\"nt\">&gt;<\/span>\n  You have ({{orders.length}}) orders.\n  <span class=\"nt\">&lt;div<\/span> <span class=\"na\">*ngFor=<\/span><span class=\"s\">\"let order of orders\"<\/span><span class=\"nt\">&gt;<\/span>\n    {{order}}\n  <span class=\"nt\">&lt;\/div&gt;<\/span>\n<span class=\"nt\">&lt;\/div&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>\u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u0631\u0627 \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0646\u06cc\u062f \u0648 \u0628\u0631\u0646\u0627\u0645\u0647 \u062f\u0648\u0628\u0627\u0631\u0647 \u0628\u0627\u0631\u06af\u06cc\u0631\u06cc \u0634\u0648\u062f.  \u06cc\u06a9 \u0645\u0648\u062c\u0648\u062f\u06cc \u0627\u0648\u0644\u06cc\u0647 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f\u060c \u0648 \u0648\u0642\u062a\u06cc \u0633\u0641\u0627\u0631\u0634 \u0631\u0627 \u0627\u0636\u0627\u0641\u0647 \u0645\u06cc \u06a9\u0646\u06cc\u062f\u060c \u0645\u0648\u062c\u0648\u062f\u06cc \u0628\u0631\u0627\u06cc \u0647\u0631 \u0633\u0641\u0627\u0631\u0634.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/practicaldev\/image\/fetch\/s--W8U0jpzC--\/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880\/https:\/\/cdn.hashnode.com\/res\/hashnode\/image\/upload\/v1676645407505\/93411e35-16cf-43bd-bdb5-3a3a932c8524.gif%2520align%3D%2522center%2522\" alt=\"\" loading=\"lazy\" width=\"\" height=\"\" title=\"\"><\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D9%87%D9%85%D9%87_%D8%A7%DB%8C%D8%A7%D9%84%D8%A7%D8%AA_%D8%B1%D8%A7_%D8%AA%D8%B1%DA%A9%DB%8C%D8%A8_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  \u0647\u0645\u0647 \u0627\u06cc\u0627\u0644\u0627\u062a \u0631\u0627 \u062a\u0631\u06a9\u06cc\u0628 \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0686\u0627\u0644\u0634 \u0628\u0627 Orders \u0633\u0627\u062f\u0647 \u0628\u0648\u062f\u060c \u0645\u0627 \u06cc\u06a9 \u0633\u0631\u0648\u06cc\u0633 \u0648\u0627\u062d\u062f \u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u06cc\u0645\u060c \u0627\u0645\u0627 \u0686\u0647 \u0686\u06cc\u0632\u06cc \u0645\u06cc \u062e\u0648\u0627\u0647\u06cc\u0645 \u0627\u0632 \u0647\u0645\u0647 \u0633\u0631\u0648\u06cc\u0633 \u0647\u0627 \u062f\u0627\u062f\u0647 \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0646\u06cc\u0645\u061f<\/p>\n<p>Rxj \u0647\u0627 \u0686\u0646\u062f \u0639\u0645\u0644\u06af\u0631 \u0631\u0627 \u0628\u0631\u0627\u06cc \u062a\u0631\u06a9\u06cc\u0628 Observables \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc \u062f\u0647\u0646\u062f <code>merge<\/code> \u0648 <code>concat<\/code>\u060c \u0627\u0645\u0627 \u062f\u0631 \u0633\u0646\u0627\u0631\u06cc\u0648\u06cc \u0645\u0627 \u0627\u0632 \u0622\u0646 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u06cc\u0645 <code>combineLatest<\/code>.<\/p>\n<p>\u0645\u0627 \u0647\u0631 \u0642\u0627\u0628\u0644 \u0645\u0634\u0627\u0647\u062f\u0647 \u0631\u0627 \u062f\u0631 \u06cc\u06a9 \u0634\u06cc \u0648\u0627\u062d\u062f \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0639\u0645\u0644\u06af\u0631 \u0646\u0642\u0634\u0647 \u062a\u0631\u06a9\u06cc\u0628 \u0645\u06cc \u06a9\u0646\u06cc\u0645 \u0648 \u0622\u0646 \u0631\u0627 \u062f\u0631 \u0642\u0627\u0644\u0628 \u0645\u0635\u0631\u0641 \u0645\u06cc \u06a9\u0646\u06cc\u0645.<\/p>\n<ul>\n<li>\n<p>\u062a\u0632\u0631\u06cc\u0642 \u06a9\u0646\u06cc\u062f <code>ProfileService<\/code>\u060c <code>OrdersService<\/code>\u060c \u0648 <code>PaymentsService<\/code><\/p>\n<\/li>\n<li>\n<p>\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f <code>combineLatest<\/code> \u0627\u067e\u0631\u0627\u062a\u0648\u0631 \u0628\u0631\u0627\u06cc \u062a\u0631\u06a9\u06cc\u0628 \u0647\u0631 \u062f\u0627\u062f\u0647 \u062e\u062f\u0645\u0627\u062a \u062f\u0631 \u06cc\u06a9 \u0634\u06cc \u0648\u0627\u062d\u062f \u0648 \u0645\u0634\u062a\u0631\u06a9 \u0634\u062f\u0646 \u062f\u0631 \u0642\u0627\u0644\u0628<\/p>\n<\/li>\n<\/ul>\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=\"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\">combineLatest<\/span> <span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">rxjs<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">import<\/span> <span class=\"p\">{<\/span> <span class=\"nx\">OrdersService<\/span> <span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">src\/app\/services\/orders.service<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">import<\/span> <span class=\"p\">{<\/span> <span class=\"nx\">PaymentsService<\/span> <span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">src\/app\/services\/payments.service<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">import<\/span> <span class=\"p\">{<\/span> <span class=\"nx\">ProfileService<\/span> <span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">src\/app\/services\/profile.service<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">import<\/span> <span class=\"p\">{<\/span> <span class=\"nx\">map<\/span> <span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">rxjs\/operators<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\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-home<\/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\">.\/home.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\">.\/home.component.css<\/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\">HomeComponent<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nx\">customerStatus$<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">combineLatest<\/span><span class=\"p\">([<\/span>\n    <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">paymentService<\/span><span class=\"p\">.<\/span><span class=\"nx\">paymentBalance$<\/span><span class=\"p\">,<\/span>\n    <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">orderService<\/span><span class=\"p\">.<\/span><span class=\"nx\">orders$<\/span><span class=\"p\">,<\/span>\n    <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">profileService<\/span><span class=\"p\">.<\/span><span class=\"nx\">name$<\/span><span class=\"p\">,<\/span>\n  <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\">balance<\/span><span class=\"p\">,<\/span> <span class=\"nx\">orders<\/span><span class=\"p\">,<\/span> <span class=\"nx\">profileName<\/span><span class=\"p\">])<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">({<\/span> <span class=\"nx\">balance<\/span><span class=\"p\">,<\/span> <span class=\"nx\">orders<\/span><span class=\"p\">,<\/span> <span class=\"nx\">profileName<\/span> <span class=\"p\">}))<\/span>\n  <span class=\"p\">);<\/span>\n\n  <span class=\"kd\">constructor<\/span><span class=\"p\">(<\/span>\n    <span class=\"k\">private<\/span> <span class=\"nx\">profileService<\/span><span class=\"p\">:<\/span> <span class=\"nx\">ProfileService<\/span><span class=\"p\">,<\/span>\n    <span class=\"k\">private<\/span> <span class=\"nx\">orderService<\/span><span class=\"p\">:<\/span> <span class=\"nx\">OrdersService<\/span><span class=\"p\">,<\/span>\n    <span class=\"k\">private<\/span> <span class=\"nx\">paymentService<\/span><span class=\"p\">:<\/span> <span class=\"nx\">PaymentsService<\/span>\n  <span class=\"p\">)<\/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>\u0646\u0634\u0627\u0646\u0647 \u06af\u0630\u0627\u0631\u06cc HTML <code>subscribe<\/code> \u0628\u0647 \u0642\u0627\u0628\u0644 \u0645\u0634\u0627\u0647\u062f\u0647 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 pipe async \u0646\u0627\u0645\u060c \u062a\u0639\u0627\u062f\u0644 \u0648 \u062f\u0633\u062a\u0648\u0631\u0627\u062a \u0631\u0627 \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc \u062f\u0647\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight html\"><code><span class=\"nt\">&lt;div<\/span> <span class=\"na\">*ngIf=<\/span><span class=\"s\">\"customerStatus$ | async as customerStatus\"<\/span><span class=\"nt\">&gt;<\/span>\n  <span class=\"nt\">&lt;p&gt;<\/span>Hey! {{customerStatus.profileName}}, your balance is {{ customerStatus.balance | currency }}\n    in {{customerStatus.orders.length}}<span class=\"nt\">&lt;\/p&gt;<\/span>\n\n  <span class=\"nt\">&lt;div<\/span> <span class=\"na\">*ngFor=<\/span><span class=\"s\">\"let order of customerStatus.orders\"<\/span><span class=\"nt\">&gt;<\/span>\n    {{ order }}\n  <span class=\"nt\">&lt;\/div&gt;<\/span>\n\n<span class=\"nt\">&lt;\/div&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>\u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u0631\u0627 \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0646\u06cc\u062f \u0648 \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u0647\u0631 \u06cc\u06a9 \u0627\u0632 \u0642\u0627\u0628\u0644 \u0645\u0634\u0627\u0647\u062f\u0647\u200c\u0647\u0627 \u0645\u0624\u0644\u0641\u0647 \u0627\u0635\u0644\u06cc \u0631\u0627 \u0645\u0646\u062a\u0634\u0631 \u0645\u06cc\u200c\u06a9\u0646\u062f\u060c \u0645\u0631\u0648\u0631\u06af\u0631 \u062f\u0648\u0628\u0627\u0631\u0647 \u0628\u0627\u0631\u06af\u06cc\u0631\u06cc \u0645\u06cc\u200c\u0634\u0648\u062f \u062a\u0627 \u062f\u0627\u062f\u0647\u200c\u0647\u0627\u06cc \u0647\u0631 \u06cc\u06a9 \u0631\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0646\u062f.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/practicaldev\/image\/fetch\/s--myGfNmTg--\/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880\/https:\/\/cdn.hashnode.com\/res\/hashnode\/image\/upload\/v1676645081996\/8474e31e-c550-462d-814c-21bdcb3b818e.gif%2520align%3D%2522center%2522\" alt=\"\" loading=\"lazy\" width=\"\" height=\"\" title=\"\"><\/p>\n<p>\u0645\u0627 \u0633\u0647 \u062a\u0632\u0631\u06cc\u0642 \u062f\u0631 <code>home.component.ts<\/code> \u0628\u0631\u0627\u06cc \u0627\u0631\u0627\u0626\u0647 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u062c\u0632\u0621  \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0645\u06cc \u06a9\u0646\u062f \u0627\u0645\u0627 \u0633\u0631 \u0648 \u0635\u062f\u0627\u06cc \u0628\u06cc\u0634 \u0627\u0632 \u062d\u062f \u062f\u0631 <code>home.component.ts<\/code>;  \u0634\u0627\u06cc\u062f \u0628\u062a\u0648\u0627\u0646\u06cc\u0645 \u0622\u0646 \u0631\u0627 \u0633\u0627\u062f\u0647 \u06a9\u0646\u06cc\u0645.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D9%85%D9%88%D8%B6%D9%88%D8%B9_%D8%B1%D9%81%D8%AA%D8%A7%D8%B1_%D8%B1%D8%A7_%D9%85%D8%AA%D9%85%D8%B1%DA%A9%D8%B2_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  \u0645\u0648\u0636\u0648\u0639 \u0631\u0641\u062a\u0627\u0631 \u0631\u0627 \u0645\u062a\u0645\u0631\u06a9\u0632 \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u06cc\u06a9\u06cc \u0627\u0632 \u0631\u0627\u0647 \u062d\u0644 \u0647\u0627 \u0627\u06cc\u062c\u0627\u062f \u0627\u0633\u062a <code>appService<\/code>;  \u062a\u0645\u0627\u0645 \u0648\u0636\u0639\u06cc\u062a \u0645\u0648\u0631\u062f \u0646\u06cc\u0627\u0632 \u0628\u0631\u0646\u0627\u0645\u0647 \u0645\u0627 \u0631\u0627 \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc \u062f\u0647\u062f.  \u0628\u0647 \u062c\u0627\u06cc \u062a\u0632\u0631\u06cc\u0642 \u0647\u0645\u0647 \u062e\u062f\u0645\u0627\u062a \u0628\u0647 \u0647\u0631 \u0635\u0641\u062d\u0647\u060c \u0645\u0627 \u06cc\u06a9 \u0646\u0642\u0637\u0647 \u0648\u0631\u0648\u062f \u062f\u0627\u0631\u06cc\u0645.  \u0634\u0631\u0648\u0639 \u06a9\u0646\u06cc\u0645:<\/p>\n<ul>\n<li>\n<p>\u06cc\u06a9 \u0633\u0631\u0648\u06cc\u0633 \u062c\u062f\u06cc\u062f \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f <code>AppService<\/code><\/p>\n<\/li>\n<li>\n<p>\u062a\u0632\u0631\u06cc\u0642 \u06a9\u0646\u06cc\u062f <code>ProfileService<\/code>\u060c <code>OrdersService<\/code>\u060c \u0648 <code>PaymentsService<\/code><\/p>\n<\/li>\n<li>\n<p>\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f <code>combineLatest<\/code> \u0627\u067e\u0631\u0627\u062a\u0648\u0631 \u0628\u0631\u0627\u06cc \u062a\u0631\u06a9\u06cc\u0628 \u0647\u0631 \u062f\u0627\u062f\u0647 \u0633\u0631\u0648\u06cc\u0633 \u062f\u0631 \u06cc\u06a9 \u0634\u06cc \u0648\u0627\u062d\u062f \u0648 \u0646\u0645\u0627\u06cc\u0634 \u0622\u0646 \u062f\u0631 \u0648\u06cc\u0698\u06af\u06cc <code>customerInfo$<\/code><\/p>\n<\/li>\n<li>\n<p>\u062f\u0648 \u062e\u0627\u0635\u06cc\u062a \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f <code>orders$<\/code> \u0648 <code>balance$<\/code>.<\/p>\n<\/li>\n<li>\n<p>\u0631\u0648\u0634 \u0631\u0627 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f <code>addOrder<\/code> \u0628\u0631\u0627\u06cc \u0628\u0647 \u0631\u0648\u0632 \u0631\u0633\u0627\u0646\u06cc \u0645\u0648\u062c\u0648\u062f\u06cc \u0648 \u0633\u0641\u0627\u0631\u0634\u0627\u062a.<\/p>\n<\/li>\n<\/ul>\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\">Injectable<\/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\n<span class=\"k\">import<\/span> <span class=\"p\">{<\/span><span class=\"nx\">ProfileService<\/span><span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">.\/profile.service<\/span><span class=\"dl\">\"<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">import<\/span> <span class=\"p\">{<\/span><span class=\"nx\">OrdersService<\/span><span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">.\/orders.service<\/span><span class=\"dl\">\"<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">import<\/span> <span class=\"p\">{<\/span><span class=\"nx\">PaymentsService<\/span><span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">.\/payments.service<\/span><span class=\"dl\">\"<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">import<\/span> <span class=\"p\">{<\/span><span class=\"nx\">map<\/span><span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">rxjs\/internal\/operators\/map<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">import<\/span> <span class=\"p\">{<\/span><span class=\"nx\">combineLatest<\/span><span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">rxjs<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n\n\n<span class=\"p\">@<\/span><span class=\"nd\">Injectable<\/span><span class=\"p\">({<\/span>\n  <span class=\"na\">providedIn<\/span><span class=\"p\">:<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">root<\/span><span class=\"dl\">'<\/span>\n<span class=\"p\">})<\/span>\n<span class=\"k\">export<\/span> <span class=\"kd\">class<\/span> <span class=\"nx\">AppService<\/span> <span class=\"p\">{<\/span>\n  <span class=\"k\">public<\/span> <span class=\"nx\">customerAndBalance$<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">combineLatest<\/span><span class=\"p\">([<\/span>\n    <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">paymentService<\/span><span class=\"p\">.<\/span><span class=\"nx\">paymentBalance$<\/span><span class=\"p\">,<\/span>\n    <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">profileService<\/span><span class=\"p\">.<\/span><span class=\"nx\">name$<\/span><span class=\"p\">,<\/span>\n  <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\">balance<\/span><span class=\"p\">,<\/span> <span class=\"nx\">name<\/span><span class=\"p\">])<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">({<\/span><span class=\"nx\">balance<\/span><span class=\"p\">,<\/span> <span class=\"nx\">name<\/span><span class=\"p\">}))<\/span>\n  <span class=\"p\">);<\/span>\n\n  <span class=\"nx\">customer$<\/span> <span class=\"o\">=<\/span> <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">profileService<\/span><span class=\"p\">.<\/span><span class=\"nx\">name$<\/span><span class=\"p\">;<\/span>\n  <span class=\"nx\">orders$<\/span> <span class=\"o\">=<\/span> <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">orderService<\/span><span class=\"p\">.<\/span><span class=\"nx\">orders$<\/span><span class=\"p\">;<\/span>\n  <span class=\"nx\">balance$<\/span> <span class=\"o\">=<\/span> <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">paymentService<\/span><span class=\"p\">.<\/span><span class=\"nx\">paymentBalance$<\/span><span class=\"p\">;<\/span>\n\n  <span class=\"kd\">constructor<\/span><span class=\"p\">(<\/span>\n    <span class=\"k\">private<\/span> <span class=\"nx\">profileService<\/span><span class=\"p\">:<\/span> <span class=\"nx\">ProfileService<\/span><span class=\"p\">,<\/span>\n    <span class=\"k\">private<\/span> <span class=\"nx\">orderService<\/span><span class=\"p\">:<\/span> <span class=\"nx\">OrdersService<\/span><span class=\"p\">,<\/span>\n    <span class=\"k\">private<\/span> <span class=\"nx\">paymentService<\/span><span class=\"p\">:<\/span> <span class=\"nx\">PaymentsService<\/span>\n  <span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n  <span class=\"p\">}<\/span>\n\n    <span class=\"c1\">\/\/comment with ngJ\u00f6rger <\/span>\n  <span class=\"nx\">addOrder<\/span><span class=\"p\">(<\/span><span class=\"nx\">order<\/span><span class=\"p\">:<\/span> <span class=\"kr\">number<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n    <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">orderService<\/span><span class=\"p\">.<\/span><span class=\"nx\">addOrder<\/span><span class=\"p\">(<\/span><span class=\"nx\">order<\/span><span class=\"p\">);<\/span>\n    <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">paymentService<\/span><span class=\"p\">.<\/span><span class=\"nx\">updateBalance<\/span><span class=\"p\">(<\/span><span class=\"mi\">1<\/span><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<p>\u062f\u0631 <code>home.component.html<\/code> \u062e\u062f\u0645\u0627\u062a \u0631\u0627 \u062d\u0630\u0641 \u06a9\u0631\u062f\u0647 \u0648 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f <code>appService<\/code> \u062f\u0631 \u0633\u0627\u0632\u0646\u062f\u0647\u060c \u0648 \u0628\u0647 \u0631\u0648\u0632 \u0631\u0633\u0627\u0646\u06cc \u0645\u0631\u062c\u0639 <code>customerStatus<\/code> \u0628\u0631\u0627\u06cc \u0627\u0634\u0627\u0631\u0647 \u0628\u0647 <code>customerInfo$<\/code> \u0631\u0648\u0634 \u0627\u0632 <code>appService<\/code>.<\/p>\n<p>\u0630\u062e\u06cc\u0631\u0647 \u06a9\u0646\u06cc\u062f\u060c \u0648 \u0647\u0645\u0647 \u0686\u06cc\u0632 \u0647\u0645\u0627\u0646\u0637\u0648\u0631 \u06a9\u0647 \u0627\u0646\u062a\u0638\u0627\u0631 \u0645\u06cc \u0631\u0648\u062f \u0628\u0647 \u06a9\u0627\u0631 \u062e\u0648\u062f \u0627\u062f\u0627\u0645\u0647 \u0645\u06cc \u062f\u0647\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=\"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\">HomeService<\/span><span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">.\/home.service<\/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-home<\/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\">.\/home.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\">.\/home.component.css<\/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\">HomeComponent<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nx\">customerStatus$<\/span> <span class=\"o\">=<\/span> <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">appService<\/span><span class=\"p\">.<\/span><span class=\"nx\">customerInfo$<\/span><span class=\"p\">;<\/span>\n\n  <span class=\"kd\">constructor<\/span><span class=\"p\">(<\/span><span class=\"k\">private<\/span> <span class=\"nx\">appService<\/span><span class=\"p\">:<\/span> <span class=\"nx\">AppService<\/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<p>\u0633\u0631\u0648\u06cc\u0633 \u062e\u0627\u0646\u0647 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u0647\u0627\u06cc \u06a9\u0645\u062a\u0631\u06cc \u062f\u0627\u0631\u062f\u060c \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u06a9\u062f \u0645\u0627 \u062a\u0645\u06cc\u0632 \u0628\u0647 \u0646\u0638\u0631 \u0645\u06cc \u0631\u0633\u062f.  \u0645\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u0645 \u0631\u0627\u0647 \u062d\u0644 \u062e\u0648\u062f \u0631\u0627 \u0633\u0627\u062f\u0647 \u06a9\u0631\u062f\u0647 \u0648 \u0645\u0633\u0626\u0648\u0644\u06cc\u062a\u06cc \u0631\u0627 \u0628\u0647 \u06cc\u06a9 \u062c\u0632\u0621 \u062e\u0627\u0635 \u0648\u0627\u06af\u0630\u0627\u0631 \u06a9\u0646\u06cc\u0645.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D9%85%D8%B3%D8%A6%D9%88%D9%84%DB%8C%D8%AA_%D8%AC%D8%B2%D8%A1\"><\/span>\n<p>  \u0645\u0633\u0626\u0648\u0644\u06cc\u062a \u062c\u0632\u0621<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0635\u0641\u062d\u0647 \u0627\u0635\u0644\u06cc \u062f\u0627\u0631\u0627\u06cc \u062f\u0648 \u0628\u062e\u0634 \u0627\u0633\u062a \u06a9\u0647 \u062f\u0631 \u0635\u0641\u062d\u0627\u062a \u062a\u06a9\u0631\u0627\u0631 \u0645\u06cc \u0634\u0648\u062f\u060c \u0646\u0627\u0645 \u06a9\u0627\u0631\u0628\u0631\u06cc \u0628\u0627 \u0645\u0648\u062c\u0648\u062f\u06cc \u0648 \u0644\u06cc\u0633\u062a \u0633\u0641\u0627\u0631\u0634\u0627\u062a.<\/p>\n<p>\u0628\u06cc\u0627\u06cc\u06cc\u062f \u0628\u0627 \u0634\u0631\u0648\u0639 \u06a9\u0646\u06cc\u0645 <code>OrderListComponent<\/code>\u060c \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Angular\/CLI \u0628\u0631\u0627\u06cc \u062a\u0648\u0644\u06cc\u062f \u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a \u062c\u062f\u06cc\u062f <code>ng g c \/components\/orderlist<\/code>:<\/p>\n<ul>\n<li>\n<p>\u062a\u0632\u0631\u06cc\u0642 \u06a9\u0646\u06cc\u062f <code>AppService<\/code> \u062f\u0631 \u0633\u0627\u0632\u0646\u062f\u0647<\/p>\n<\/li>\n<li>\n<p>\u06cc\u06a9 \u0631\u0627 \u0627\u0639\u0644\u0627\u0645 \u06a9\u0646\u06cc\u062f <code>orders$<\/code> \u0642\u0627\u0628\u0644 \u0645\u0634\u0627\u0647\u062f\u0647 \u0628\u0631\u0627\u06cc \u062e\u0648\u0627\u0646\u062f\u0646 \u062a\u0645\u0627\u0645 \u0633\u0641\u0627\u0631\u0634\u0627\u062a \u062f\u0631 \u062e\u062f\u0645\u0627\u062a.<\/p>\n<\/li>\n<li>\n<p>\u0646\u0634\u0627\u0646\u0647 \u06af\u0630\u0627\u0631\u06cc HTML \u0631\u0627 \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f \u0648 \u062f\u0631 \u0622\u0646 \u0645\u0634\u062a\u0631\u06a9 \u0634\u0648\u06cc\u062f <code>orders$<\/code> \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0644\u0648\u0644\u0647 \u0642\u0627\u0628\u0644 \u0645\u0634\u0627\u0647\u062f\u0647 \u0627\u0633\u062a <code>async<\/code> \u0648 \u0628\u0627 \u0622\u0646 \u062a\u06a9\u0631\u0627\u0631 \u06a9\u0646\u06cc\u062f <code>ngFor<\/code>.<\/p>\n<\/li>\n<\/ul>\n<p>\u06a9\u062f \u0646\u0647\u0627\u06cc\u06cc \u0628\u0647 \u0634\u06a9\u0644 \u0632\u06cc\u0631 \u0627\u0633\u062a:<\/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=\"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\">AppService<\/span><span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">..\/..\/services\/app.service<\/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-order-list<\/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\">.\/order-list.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\">.\/order-list.component.css<\/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\">OrderListComponent<\/span> <span class=\"p\">{<\/span>\n\n  <span class=\"nx\">orders$<\/span> <span class=\"o\">=<\/span> <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">appService<\/span><span class=\"p\">.<\/span><span class=\"nx\">orders$<\/span><span class=\"p\">;<\/span>\n\n  <span class=\"kd\">constructor<\/span><span class=\"p\">(<\/span><span class=\"k\">private<\/span> <span class=\"nx\">appService<\/span><span class=\"p\">:<\/span> <span class=\"nx\">AppService<\/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<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight html\"><code><span class=\"nt\">&lt;div<\/span> <span class=\"na\">*ngIf=<\/span><span class=\"s\">\"orders$ | async  as orders\"<\/span><span class=\"nt\">&gt;<\/span>\n  You have ({{orders.length}}) orders.\n  <span class=\"nt\">&lt;div<\/span> <span class=\"na\">*ngFor=<\/span><span class=\"s\">\"let order of orders\"<\/span><span class=\"nt\">&gt;<\/span>\n    {{order}}\n  <span class=\"nt\">&lt;\/div&gt;<\/span>\n<span class=\"nt\">&lt;\/div&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>\u0641\u0631\u0622\u06cc\u0646\u062f \u062f\u0642\u06cc\u0642 \u0628\u0627 \u067e\u06cc\u0627\u0645 \u0645\u0634\u062a\u0631\u06cc \u06cc\u06a9 \u0645\u0624\u0644\u0641\u0647 \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc \u06a9\u0646\u062f <code>Angular\/CLI<\/code>.<\/p>\n<ul>\n<li>\n<p>\u062f\u0633\u062a\u0648\u0631 \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f <code>ng g c \/components\/customer-message<\/code><\/p>\n<\/li>\n<li>\n<p>\u062a\u0632\u0631\u06cc\u0642 \u06a9\u0646\u06cc\u062f <code>AppService<\/code> \u062f\u0631 \u0633\u0627\u0632\u0646\u062f\u0647<\/p>\n<\/li>\n<li>\n<p>\u0627\u0644\u0641 \u0631\u0627 \u0627\u0639\u0644\u0627\u0645 \u06a9\u0646\u06cc\u062f <code>customerInfo$<\/code> \u0642\u0627\u0628\u0644 \u0645\u0634\u0627\u0647\u062f\u0647 \u0628\u0631\u0627\u06cc \u062e\u0648\u0627\u0646\u062f\u0646 <code>customerAndBalance$<\/code> \u0627\u0631\u0632\u0634.<\/p>\n<\/li>\n<li>\n<p>\u0646\u0634\u0627\u0646\u0647 \u06af\u0630\u0627\u0631\u06cc HTML \u0631\u0627 \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f \u0648 \u062f\u0631 \u0622\u0646 \u0645\u0634\u062a\u0631\u06a9 \u0634\u0648\u06cc\u062f <code>customerInfo$<\/code> \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0644\u0648\u0644\u0647 \u0642\u0627\u0628\u0644 \u0645\u0634\u0627\u0647\u062f\u0647 \u0627\u0633\u062a <code>async<\/code>.<\/p>\n<\/li>\n<\/ul>\n<p>\u06a9\u062f \u0646\u0647\u0627\u06cc\u06cc \u0628\u0647 \u0634\u06a9\u0644 \u0632\u06cc\u0631 \u0627\u0633\u062a:<\/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=\"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\">AppService<\/span><span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">..\/..\/services\/app.service<\/span><span class=\"dl\">\"<\/span><span class=\"p\">;<\/span>\n\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-customer-message<\/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\">.\/customer-message.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\">.\/customer-message.component.css<\/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\">CustomerMessageComponent<\/span> <span class=\"p\">{<\/span>\n\n  <span class=\"k\">public<\/span> <span class=\"nx\">customerInfo$<\/span> <span class=\"o\">=<\/span> <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">appService<\/span><span class=\"p\">.<\/span><span class=\"nx\">customerAndBalance$<\/span><span class=\"p\">;<\/span>\n\n  <span class=\"kd\">constructor<\/span><span class=\"p\">(<\/span><span class=\"k\">private<\/span> <span class=\"nx\">appService<\/span><span class=\"p\">:<\/span> <span class=\"nx\">AppService<\/span><span class=\"p\">)<\/span> <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<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight html\"><code><span class=\"nt\">&lt;div<\/span> <span class=\"na\">*ngIf=<\/span><span class=\"s\">\"customerInfo$ | async as customer\"<\/span><span class=\"nt\">&gt;<\/span>\n  <span class=\"nt\">&lt;div<\/span> <span class=\"na\">*ngIf=<\/span><span class=\"s\">\"customer.name &amp;&amp; customer.balance; else updateInfo\"<\/span><span class=\"nt\">&gt;<\/span>\n    <span class=\"nt\">&lt;p&gt;<\/span>Hey! {{customer.name}}, your balance is {{ customer.balance | currency }}<span class=\"nt\">&lt;\/p&gt;<\/span>\n  <span class=\"nt\">&lt;\/div&gt;<\/span>\n<span class=\"nt\">&lt;\/div&gt;<\/span>\n<span class=\"nt\">&lt;ng-template<\/span> <span class=\"na\">#updateInfo<\/span><span class=\"nt\">&gt;<\/span>\n  Please add your name and balance\n<span class=\"nt\">&lt;\/ng-template&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>\u0645\u0627 \u0642\u0628\u0644\u0627 AppService \u0631\u0627 \u062a\u0632\u0631\u06cc\u0642 \u06a9\u0631\u062f\u0647 \u0627\u06cc\u0645 <code>orderList<\/code> \u0648 <code>customerMessage<\/code>\u060c \u06a9\u0647 \u0628\u0647 \u0633\u0627\u062f\u0647 \u0633\u0627\u0632\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u0648 \u0628\u0627\u0632\u0633\u0627\u0632\u06cc \u0633\u0627\u06cc\u0631 \u0645\u0624\u0644\u0641\u0647 \u0647\u0627 \u06a9\u0645\u06a9 \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D8%A7%D8%AC%D8%B2%D8%A7%DB%8C_Refactor\"><\/span>\n<p>  \u0627\u062c\u0632\u0627\u06cc Refactor<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0645\u0627 \u062f\u0648 \u062c\u0632\u0621 \u0628\u0631\u0627\u06cc \u0633\u0627\u062f\u0647 \u06a9\u0631\u062f\u0646 \u062e\u0627\u0646\u0647 \u0648 \u0633\u0641\u0627\u0631\u0634\u0627\u062a \u062f\u0627\u0631\u06cc\u0645.<\/p>\n<p>\u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a Home \u0645\u0627\u0646\u0646\u062f \u06cc\u06a9 \u0638\u0631\u0641 \u0628\u0631\u0627\u06cc <code>customerMessage<\/code> \u0648 <code>orderList<\/code> \u0627\u062c\u0632\u0627\u0621\u060c \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc \u062f\u0647\u062f \u062a\u0627 \u062a\u0645\u06cc\u0632 \u06a9\u0646\u06cc\u0645:<\/p>\n<ul>\n<li>\n<p>\u062a\u0632\u0631\u06cc\u0642 appService \u0631\u0627 \u0627\u0632 \u0633\u0627\u0632\u0646\u062f\u0647 \u062d\u0630\u0641 \u06a9\u0646\u06cc\u062f.<\/p>\n<\/li>\n<li>\n<p>\u062f\u0631 \u0642\u0627\u0644\u0628\u060c \u0627\u0632 \u0645\u0648\u0644\u0641\u0647 \u0647\u0627\u06cc customer-message \u0648 listOrder \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n<\/li>\n<\/ul>\n<p>\u06a9\u062f \u0646\u0647\u0627\u06cc\u06cc \u0628\u0647 \u0634\u06a9\u0644 \u0632\u06cc\u0631 \u0627\u0633\u062a:<\/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=\"k\">from<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">@angular\/core<\/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-home<\/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\">.\/home.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\">.\/home.component.css<\/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\">HomeComponent<\/span> <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 html\"><code><span class=\"nt\">&lt;app-customer-message&gt;&lt;\/app-customer-message&gt;<\/span>\n<span class=\"nt\">&lt;app-order-list&gt;&lt;\/app-order-list&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>\u0645\u0648\u0644\u0641\u0647 Orders \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 AppService \u0648 \u062c\u0632\u0621 orderlist \u0633\u0627\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f.<\/p>\n<ul>\n<li>\n<p>\u062a\u0632\u0631\u06cc\u0642 \u06a9\u0646\u06cc\u062f <code>AppService<\/code> \u062f\u0631 \u0633\u0627\u0632\u0646\u062f\u0647<\/p>\n<\/li>\n<li>\n<p>\u0627\u0644\u0641 \u0631\u0627 \u0627\u0639\u0644\u0627\u0645 \u06a9\u0646\u06cc\u062f <code>balance$<\/code> \u0642\u0627\u0628\u0644 \u0645\u0634\u0627\u0647\u062f\u0647 \u0628\u0631\u0627\u06cc \u062e\u0648\u0627\u0646\u062f\u0646 \u0645\u0642\u062f\u0627\u0631 \u062a\u0639\u0627\u062f\u0644 \u0627\u0632 AppService.<\/p>\n<\/li>\n<li>\n<p>\u0631\u0627 \u0628\u0647 \u0631\u0648\u0632 \u06a9\u0646\u06cc\u062f <code>addOrder<\/code> \u0631\u0648\u0634 \u0628\u0631\u0627\u06cc \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u0647\u0645\u0627\u0646 \u0627\u0632 <code>appService<\/code>.<\/p>\n<\/li>\n<li>\n<p>\u0646\u0634\u0627\u0646\u0647 \u06af\u0630\u0627\u0631\u06cc HTML \u0631\u0627 \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f \u0648 \u062f\u0631 \u0622\u0646 \u0645\u0634\u062a\u0631\u06a9 \u0634\u0648\u06cc\u062f <code>balance$<\/code> \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0644\u0648\u0644\u0647 \u0642\u0627\u0628\u0644 \u0645\u0634\u0627\u0647\u062f\u0647 \u0627\u0633\u062a <code>async<\/code>.<\/p>\n<\/li>\n<li>\n<p>\u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 <code>customer<\/code> \u0648 <code>orderlist<\/code> \u062c\u0632\u0621 \u0628\u0631\u0627\u06cc \u0646\u0645\u0627\u06cc\u0634 \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631 \u0648 \u0644\u06cc\u0633\u062a \u0633\u0641\u0627\u0631\u0634\u0627\u062a.<\/p>\n<\/li>\n<\/ul>\n<p>\u06a9\u062f \u0646\u0647\u0627\u06cc\u06cc \u0628\u0647 \u0634\u06a9\u0644 \u0632\u06cc\u0631 \u0627\u0633\u062a:<\/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=\"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\">AppService<\/span><span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">..\/..\/services\/app.service<\/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-orders<\/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\">.\/orders.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\">.\/orders.component.css<\/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\">OrdersComponent<\/span> <span class=\"p\">{<\/span>\n\n\n  <span class=\"nx\">balance$<\/span> <span class=\"o\">=<\/span> <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">appService<\/span><span class=\"p\">.<\/span><span class=\"nx\">balance$<\/span>\n\n  <span class=\"kd\">constructor<\/span><span class=\"p\">(<\/span>\n    <span class=\"k\">private<\/span> <span class=\"nx\">appService<\/span><span class=\"p\">:<\/span> <span class=\"nx\">AppService<\/span>\n  <span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n\n  <span class=\"p\">}<\/span>\n\n  <span class=\"nx\">addOrder<\/span><span class=\"p\">(<\/span><span class=\"nx\">order<\/span><span class=\"p\">:<\/span> <span class=\"nx\">HTMLInputElement<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n    <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">appService<\/span><span class=\"p\">.<\/span><span class=\"nx\">addOrder<\/span><span class=\"p\">(<\/span><span class=\"nx\">order<\/span><span class=\"p\">.<\/span><span class=\"nx\">valueAsNumber<\/span><span class=\"p\">)<\/span>\n    <span class=\"nx\">order<\/span><span class=\"p\">.<\/span><span class=\"nx\">value<\/span> <span class=\"o\">=<\/span> <span class=\"dl\">''<\/span><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<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight html\"><code><span class=\"nt\">&lt;div<\/span> <span class=\"na\">*ngIf=<\/span><span class=\"s\">\"balance$ | async as balance; else noBalance\"<\/span><span class=\"nt\">&gt;<\/span>\n  <span class=\"nt\">&lt;app-customer-message&gt;&lt;\/app-customer-message&gt;<\/span>\n  <span class=\"nt\">&lt;input<\/span> <span class=\"na\">#order<\/span> <span class=\"na\">type=<\/span><span class=\"s\">\"number\"<\/span><span class=\"nt\">&gt;<\/span>\n  <span class=\"nt\">&lt;button<\/span> <span class=\"na\">(click)=<\/span><span class=\"s\">\"addOrder(order)\"<\/span> <span class=\"na\">[disabled]=<\/span><span class=\"s\">\"balance &lt;= 0\"<\/span><span class=\"nt\">&gt;<\/span>add order<span class=\"nt\">&lt;\/button&gt;<\/span>\n<span class=\"nt\">&lt;\/div&gt;<\/span>\n<span class=\"nt\">&lt;ng-template<\/span> <span class=\"na\">#noBalance<\/span><span class=\"nt\">&gt;<\/span>\n  <span class=\"nt\">&lt;h2&gt;<\/span> Insufficient Balance, please add.<span class=\"nt\">&lt;\/h2&gt;<\/span>\n<span class=\"nt\">&lt;\/ng-template&gt;<\/span>\n\n<span class=\"nt\">&lt;app-order-list&gt;&lt;\/app-order-list&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%A2%D9%86%DA%86%D9%87_%D9%85%DB%8C_%D8%A2%D9%85%D9%88%D8%B2%D9%85\"><\/span>\n<p>  \u0622\u0646\u0686\u0647 \u0645\u06cc \u0622\u0645\u0648\u0632\u0645<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0645\u062b\u0627\u0644 \u06a9\u0648\u0686\u06a9\u06cc \u0628\u0648\u062f.  \u0645\u0627 \u0648\u0642\u062a \u062f\u0627\u0634\u062a\u06cc\u0645 \u06a9\u0647 \u0628\u062f\u0648\u0646 \u0632\u0645\u0627\u0646\u060c \u0628\u0627\u0632\u0627\u0631\u060c \u0633\u0631\u0639\u062a \u062a\u06cc\u0645 \u0648 \u0641\u0634\u0627\u0631 \u0634\u0631\u06a9\u062a\u060c \u0645\u0631\u0648\u0631 \u06a9\u0646\u06cc\u0645 \u0648 \u0648\u0642\u062a \u0628\u06af\u0630\u0627\u0631\u06cc\u0645.<\/p>\n<ul>\n<li>\n<p>\u0627\u0632 Rxjs Observable \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f\u060c \u06a9\u0647 \u0628\u0647 \u0645\u0627 \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc \u062f\u0647\u062f \u062a\u0627 \u06cc\u06a9 \u0628\u0631\u0646\u0627\u0645\u0647 \u0648\u0627\u06a9\u0646\u0634\u06cc \u0631\u0627 \u0633\u0631\u06cc\u0639 \u0648 \u0628\u062f\u0648\u0646 \u067e\u06cc\u0686\u06cc\u062f\u06af\u06cc \u0632\u06cc\u0627\u062f \u0628\u0633\u0627\u0632\u06cc\u0645.<\/p>\n<\/li>\n<li>\n<p>\u0648\u0642\u062a\u06cc \u0647\u0631 \u0645\u0648\u062c\u0648\u062f\u06cc\u062a\u06cc \u062e\u062f\u0645\u0627\u062a \u062e\u0648\u062f \u0631\u0627 \u0628\u0631\u0627\u06cc \u062d\u0641\u0638 \u0648\u0636\u0639\u06cc\u062a \u062f\u0627\u0631\u062f\u060c \u0627\u06af\u0631 \u06cc\u06a9 \u062c\u0632\u0621 \u0628\u0647 \u0647\u0645\u0647 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0646\u06cc\u0627\u0632 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f\u060c \u0646\u06cc\u0627\u0632 \u0628\u0647 \u062a\u0632\u0631\u06cc\u0642 \u0647\u0645\u0647 \u0622\u0646\u0647\u0627 \u062f\u0627\u0631\u062f.<\/p>\n<\/li>\n<li>\n<p>\u0628\u0631\u0627\u06cc \u06a9\u0627\u0647\u0634 \u0645\u0642\u062f\u0627\u0631 \u062a\u0632\u0631\u06cc\u0642\u060c \u0645\u0627 \u0647\u0645\u0647 \u062e\u062f\u0645\u0627\u062a &#8220;\u067e\u0644&#8221; \u0631\u0627 \u0628\u0631\u0627\u06cc \u0627\u0631\u062a\u0628\u0627\u0637 \u0628\u0627 \u0645\u0648\u0636\u0648\u0639\u0627\u062a \u0631\u0641\u062a\u0627\u0631\u06cc \u0645\u062a\u0639\u062f\u062f\u06cc \u0645\u0627\u0646\u0646\u062f <code>AppService<\/code><\/p>\n<\/li>\n<li>\n<p>\u0645\u0627 \u0628\u0627\u06cc\u062f \u062a\u0634\u062e\u06cc\u0635 \u062f\u0647\u06cc\u0645 \u06a9\u0647 \u06a9\u062f\u0627\u0645 \u0645\u0624\u0644\u0641\u0647 \u0647\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646\u0646\u062f \u0628\u0647 \u0635\u0648\u0631\u062a \u0627\u06cc\u0632\u0648\u0644\u0647 \u06a9\u0627\u0631 \u06a9\u0646\u0646\u062f\u060c \u0639\u0645\u0644\u06a9\u0631\u062f\u06cc \u0631\u0627 \u0628\u062f\u0648\u0646 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u0647\u0627\u06cc \u0632\u06cc\u0627\u062f \u0627\u0631\u0627\u0626\u0647 \u062f\u0647\u06cc\u0645 \u0648 \u0645\u0624\u0644\u0641\u0647 \u0647\u0627\u06cc \u062e\u0648\u062f \u0631\u0627 \u0633\u0627\u062f\u0647 \u06a9\u0646\u06cc\u0645.<\/p>\n<\/li>\n<li>\n<p>\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0627\u0644\u06af\u0648\u06cc \u0647\u0648\u0634\u0645\u0646\u062f \u0648 \u0627\u062c\u0632\u0627\u06cc dump \u0628\u0647 \u0633\u0627\u062f\u0647 \u0633\u0627\u0632\u06cc \u062a\u0631\u06a9\u06cc\u0628 \u0627\u062c\u0632\u0627 \u06a9\u0645\u06a9 \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"%D8%A2%DB%8C%D8%A7_%D8%A8%D9%87_%D9%85%D8%AF%DB%8C%D8%B1_%D8%AF%D9%88%D9%84%D8%AA%DB%8C_%D9%86%DB%8C%D8%A7%D8%B2_%D8%AF%D8%A7%D8%B1%D9%85%D8%9F\"><\/span>\n<p>  \u0622\u06cc\u0627 \u0628\u0647 \u0645\u062f\u06cc\u0631 \u062f\u0648\u0644\u062a\u06cc \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u0645\u061f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0627\u06af\u0631 \u0628\u0631\u0646\u0627\u0645\u0647 \u0634\u0645\u0627 \u06cc\u06a9 MVP \u06cc\u0627 \u06a9\u0648\u0686\u06a9 \u0645\u0627\u0646\u0646\u062f \u0627\u06cc\u0646 \u0627\u0633\u062a\u060c BehaviorSubject \u0645\u0634\u06a9\u0644\u06cc \u0646\u062f\u0627\u0631\u062f.  \u0645\u0646 \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u0645 \u06a9\u0645\u06cc \u0648\u0642\u062a \u0628\u06af\u0630\u0627\u0631\u0645 \u062a\u0627 \u062f\u0648\u0628\u0627\u0631\u0647 \u0647\u0645\u0627\u0646 \u0628\u0631\u0646\u0627\u0645\u0647 \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u06cc\u06a9 \u0645\u062f\u06cc\u0631 \u0627\u06cc\u0627\u0644\u062a\u06cc \u0628\u0633\u0627\u0632\u0645 <strong>NgRx \u06cc\u0627 NGXS<\/strong>.<\/p>\n<p>\u0628\u0647 \u0632\u0648\u062f\u06cc \u0645\u06cc\u0628\u06cc\u0646\u0645\u062a!<\/p>\n<p>\u0639\u06a9\u0633 \u0627\u0632 Ag\u00ea Barros \u062f\u0631 Unsplash<\/p>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u0647\u0646\u06af\u0627\u0645\u06cc \u06a9\u0647 \u06cc\u06a9 Angular App \u0645\u06cc\u200c\u0633\u0627\u0632\u06cc\u0645\u060c \u0627\u0631\u062a\u0628\u0627\u0637 \u0628\u06cc\u0646 \u0645\u0624\u0644\u0641\u0647\u200c\u0647\u0627 \u0686\u06cc\u0632\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0628\u0627\u06cc\u062f \u0645\u0631\u0627\u0642\u0628 \u0622\u0646 \u0628\u0627\u0634\u06cc\u0645. \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u0645 \u0628\u0627 \u0631\u0648\u06cc\u062f\u0627\u062f\u0647\u0627\u06cc \u0648\u0631\u0648\u062f\u06cc \u0648 \u062e\u0631\u0648\u062c\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0648\u0627\u0644\u062f\u06cc\u0646 \u0628\u0647 \u0641\u0631\u0632\u0646\u062f \u0631\u0627 \u0634\u0631\u0648\u0639 \u06a9\u0646\u06cc\u0645. \u0641\u0642\u062f\u0627\u0646 \u0627\u0631\u062a\u0628\u0627\u0637 \u0648\u0631\u0648\u062f\u06cc \u0648 \u062e\u0631\u0648\u062c\u06cc \u062a\u0646\u0647\u0627 \u0627\u0631\u062a\u0628\u0627\u0637 \u0648\u0627\u0644\u062f\u06cc\u0646 \u0628\u0647 \u0641\u0631\u0632\u0646\u062f \u06cc\u0627 \u0628\u0631\u0639\u06a9\u0633 \u0627\u0633\u062a\u060c \u0627\u0645\u0627 \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u0628\u0631\u0646\u0627\u0645\u0647 \u0628\u0627 \u0645\u0633\u06cc\u0631\u06cc\u0627\u0628\u06cc \u0648 \u0628\u06cc\u0634\u062a\u0631 \u0627\u0632 \u0627\u062c\u0632\u0627\u06cc \u0648\u0627\u0644\u062f\u06cc\u0646 &hellip;<\/p>\n","protected":false},"author":2,"featured_media":8101,"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-8100","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\/8100","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=8100"}],"version-history":[{"count":0,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/8100\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media\/8101"}],"wp:attachment":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media?parent=8100"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/categories?post=8100"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/tags?post=8100"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}