{"id":275462,"date":"2016-03-04T02:15:02","date_gmt":"2016-03-03T23:15:02","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=275462"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=275462","title":{"rendered":"\u041f\u043e\u0440\u043e\u0433 \u0432\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f \u0432 Angular 2 \u2014 \u0442\u0435\u043e\u0440\u0438\u044f \u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0430"},"content":{"rendered":"<p>       \u0414\u043e\u0431\u0440\u044b\u0439 \u0434\u0435\u043d\u044c, \u0434\u043e\u0440\u043e\u0433\u0438\u0435 \u0445\u0430\u0431\u0440\u0430: \u0436\u0438\u0442\u0435\u043b\u0438, \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0438, \u043f\u0438\u0441\u0430\u0442\u0435\u043b\u0438, \u043d\u0435\u0433\u0430\u0442\u0438\u0432\u043d\u043e-\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0442\u043e\u0440\u044b \ud83d\ude42 <\/p>\n<p>  \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0432\u0432\u043e\u0434\u043d\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0438 \u0447\u0442\u043e\u0431\u044b \u0441\u043d\u044f\u0442\u044c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043e \u0441\u0435\u0431\u0435.<br \/>  \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0422\u0430\u043c\u0430\u0440\u0430. \u041e\u0443\u0436\u0430\u0441, \u044f \u0434\u0435\u0432\u0443\u0448\u043a\u0430! \u041a\u043e\u0433\u043e \u044d\u0442\u043e \u043f\u0443\u0433\u0430\u0435\u0442 \u2014 \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0439\u0442\u0435 \u0441\u0442\u0430\u0442\u044c\u044e \u0438 \u043d\u0435 \u0447\u0438\u0442\u0430\u0439\u0442\u0435.<\/p>\n<p>  \u0414\u043b\u044f \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445: \u0443 \u043c\u0435\u043d\u044f \u0437\u0430 \u043f\u043b\u0435\u0447\u0430\u043c \u043d\u0435\u0437\u0430\u043a\u043e\u043d\u0447\u0435\u043d\u043d\u044b\u0439 \u043b\u0435\u0442 10 \u043d\u0430\u0437\u0430\u0434 \u041c\u0418\u0420\u042d\u0410, \u0444\u0430\u043a\u0443\u043b\u044c\u0442\u0435\u0442 \u043a\u0438\u0431\u0435\u0440\u043d\u0435\u0442\u0438\u043a\u0438. \u041d\u043e \u0432\u0441\u0435 \u044d\u0442\u0438 10 \u043b\u0435\u0442 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 \u0441\u043b\u043e\u0436\u0438\u043b\u0438\u0441\u044c \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0447\u0442\u043e \u043f\u043e \u0431\u043e\u043b\u044c\u0448\u0435\u0439 \u0447\u0430\u0441\u0442\u0438 \u044f \u0437\u0430\u043d\u0438\u043c\u0430\u043b\u0430\u0441\u044c \u0440\u0435\u043a\u043b\u0430\u043c\u043e\u0439 \u0438 \u0432 \u043f\u0435\u0440\u0435\u0440\u044b\u0432\u0430\u0445 \u0441\u043b\u0443\u0447\u0430\u043b\u043e\u0441\u044c \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0432 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0441\u0442\u0430\u0440\u0442\u0430\u043f\u0430\u0445, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0445 \u0441 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u043e\u043c \u0438 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e.<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/0d1\/a85\/ffd\/0d1a85ffdeee40f5b504516a77892bfd.jpg\" alt=\"image\"\/><br \/>  \u0412 \u043e\u0431\u0449\u0435\u043c, \u0435\u0441\u043b\u0438 \u043a\u043e\u0440\u043e\u0442\u043a\u043e, \u0442\u043e \u0447\u0443\u043a\u0447\u0430 \u043d\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442, \u0447\u0443\u043a\u0447\u0430 \u043f\u0440\u043e\u0441\u0442\u043e \u0434\u0443\u0448\u043e\u0439 \u0438 \u0441\u0435\u0440\u0434\u0446\u0435\u043c \u0443\u0432\u0430\u0436\u0430\u0435\u0442 \u0442\u0435\u0445, \u043a\u0442\u043e \u0438\u0437 \u043d\u0435\u043f\u043e\u043d\u044f\u0442\u043d\u044b\u0445 \u0441\u0442\u0440\u043e\u0447\u0435\u043a \u043a\u043e\u0434\u0430 \u0434\u0435\u043b\u0430\u0435\u0442 \u043e\u0444\u0438\u0433\u0435\u043d\u043d\u044b\u0435 \u0432\u0435\u0449\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0445\u043e\u0440\u043e\u0448\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442.<br \/>  <a name=\"habracut\"><\/a> <br \/>  \u042f \u043f\u043e\u043a\u0440\u0438\u0432\u043b\u044e \u0434\u0443\u0448\u043e\u0439, \u0435\u0441\u043b\u0438 \u0441\u043a\u0430\u0436\u0443, \u0447\u0442\u043e \u044f \u043d\u0435 \u043c\u043e\u0433\u0443 \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0432 \u0447\u0443\u0436\u043e\u043c \u043a\u043e\u0434\u0435. \u041c\u043e\u0433\u0443, \u043d\u0430 java \u0438 php \u043c\u043e\u0433\u0443 \u0434\u0430\u0436\u0435 \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u044b\u0435 \u0432\u0435\u0449\u0438 \u043f\u043e\u043f\u0440\u0430\u0432\u0438\u0442\u044c. \u041d\u043e \u0434\u0430\u043b\u044c\u0448\u0435 \u044d\u0442\u043e\u0433\u043e \u043c\u043e\u0439 \u043e\u043f\u044b\u0442 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u043d\u0435 \u0443\u0445\u043e\u0434\u0438\u043b.<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/a90\/b49\/0c3\/a90b490c3a7046a093ad89d69395a36c.jpg\" alt=\"image\"\/><br \/>  \u041d\u043e \u044d\u0442\u043e \u0436\u0435 \u0432\u0441\u0435 \u043d\u0435 \u0442\u043e, \u0434\u0443\u0448\u0430 \u043f\u0440\u043e\u0441\u0438\u043b\u0430 \u043f\u043e\u044d\u0437\u0438\u0438 \u0441 \u0447\u0438\u0441\u0442\u043e\u0433\u043e \u043b\u0438\u0441\u0442\u0430. \u0418 \u0432\u043e\u0442 \u043f\u0440\u0435\u043a\u0440\u0430\u0442\u0438\u0432 \u043d\u0430 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0441\u0432\u043e\u044e \u0442\u0440\u0443\u0434\u043e\u0432\u0443\u044e \u0434\u0435\u044f\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0438 \u0432\u0437\u044f\u0432 \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043e\u0442\u043f\u0443\u0441\u043a \u0434\u043b\u044f \u0434\u0443\u0448\u0438 \u0438 \u0442\u0435\u043b\u0430 \u044f \u0442\u0430\u043a\u0438 \u0440\u0435\u0448\u0438\u043b\u0430 \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0447\u0442\u043e-\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0441 0 \u0438 \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e. \u041f\u043e\u0434 &quot;\u0447\u0442\u043e-\u0442\u043e&quot; \u044f \u043f\u043e\u043d\u0438\u043c\u0430\u044e \u0441\u0432\u043e\u0439 \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0439 \u043f\u0440\u043e\u0435\u043a\u0442. <br \/>  <cut text=\"\u041f\u043e\u043d\u0435\u0441\u043b\u0430\u0441\u044c \u0434\u0443\u0448\u0430 \u0432 \u0440\u0430\u0439\"\/><br \/>  \u041a\u043e\u0433\u0434\u0430 \u0434\u0443\u043c\u0430\u043b\u0430 \u0438 \u0432\u044b\u0431\u0438\u0440\u0430\u043b\u0430 \u043d\u0430 \u0447\u0435\u043c \u0434\u0435\u043b\u0430\u0442\u044c, \u0442\u043e \u0434\u043b\u044f \u0431\u044d\u043a\u0435\u043d\u0434\u0430 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0430\u0441\u044c \u043d\u0430 PHP. \u0410 \u0442\u043e\u0447\u043d\u0435\u0435 \u043d\u0430 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0435 \u2014 Laravel.<br \/>  \u041d\u0430 \u043d\u0435\u043c \u044f \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0430\u0441\u044c \u043f\u043e \u0442\u043e\u0439 \u043f\u0440\u0438\u0447\u0438\u043d\u0435, \u0447\u0442\u043e \u0434\u043b\u044f \u043c\u0435\u043d\u044f \u043e\u043d \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u0441\u044f \u0441\u0430\u043c\u044b\u043c \u043d\u0438\u0437\u043a\u0438\u043c \u043f\u043e \u043f\u043e\u0440\u043e\u0433\u0443 \u0432\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f. \u041c\u043d\u0435 \u043d\u0435 \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f \u0432 \u043d\u0435\u043c \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f, \u0442\u0430\u043a \u043a\u0430\u043a \u0441 \u043c\u043e\u0435\u0439 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u043c\u043d\u043e\u0433\u0438\u0435 \u043c\u043e\u043c\u0435\u043d\u0442\u044b \u043d\u0435 \u0440\u0430\u0441\u043a\u0440\u044b\u0442\u044b \u0438 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043b\u0435\u0437\u0442\u044c \u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438. \u041d\u043e \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043e\u0431\u0449\u0438\u0435 \u043c\u043e\u043c\u0435\u043d\u0442\u044b \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u043d\u044b \u043d\u0430 \u043c\u043d\u043e\u0433\u0438\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u0445. Laracasts \u043a\u0430\u043a \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u0432\u0435\u0441\u044c\u043c\u0430 \u0433\u0440\u0443\u0441\u0442\u0435\u043d. \u0422\u0435\u0439\u043b\u043e\u0440 \u0442\u0430\u043c \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u0442 \u0432\u0441\u0435 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u043e\u0432\u0435\u0440\u0445\u043d\u043e\u0441\u0442\u043d\u043e, \u043f\u0435\u0440\u0435\u0441\u043a\u0430\u043a\u0438\u0432\u0430\u044f \u0441 \u043e\u0434\u043d\u043e\u0433\u043e \u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u0435 \u0438 \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u043d\u0435 \u0443\u0433\u043b\u0443\u0431\u043b\u044f\u044f\u0441\u044c. \u0412\u0441\u0435 \u043f\u043e \u0432\u0435\u0440\u0445\u0430\u043c. <\/p>\n<p>  \u0414\u043b\u044f \u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434\u0430 \u044f \u0432\u044b\u0431\u0440\u0430\u043b\u0430 Angular 2. \u0414\u0430, \u044f \u0437\u043d\u0430\u044e, \u0447\u0442\u043e \u043e\u043d \u0432 beta-\u0440\u0435\u0436\u0438\u043c\u0435 :), \u043d\u043e \u043c\u043d\u0435 \u043e\u043d \u043e\u043f\u044f\u0442\u044c \u0436\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u0441\u044f \u043b\u043e\u0433\u0438\u0447\u043d\u044b\u043c.<br \/>  \u0414\u043b\u044f \u0432\u044a\u0435\u0437\u0436\u0430\u043d\u0438\u044f \u0432 Angular2 \u044f \u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0441\u044c \u0438\u0445 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0435\u0439, \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0430\u043c\u0438 \u043d\u0430 github, \u0447\u0442\u0435\u043d\u0438\u044f issue \u0442\u0430\u043c \u0436\u0435, stackoverflow \u2014 \u043d\u043e \u0442\u0430\u043c \u043a\u0430\u043a-\u0442\u043e \u0432\u0441\u0435 \u0441\u0435\u0439\u0447\u0430\u0441 \u0433\u0440\u0443\u0441\u0442\u043d\u043e \u2014 \u0437\u0430\u0434\u0430\u044e\u0442 \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u043e\u0442\u0432\u0435\u0442\u044b \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0435\u0441\u0442\u044c \u0432 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438.<\/p>\n<p>  \u041d\u0443, \u043d\u0430\u0432\u0435\u0440\u043d\u043e\u0435 \u0441 \u0432\u0432\u043e\u0434\u043d\u043e\u0439 \u0447\u0430\u0441\u0442\u044c\u044e \u0431\u0443\u0434\u0443 \u0437\u0430\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u0442\u044c.<br \/>  \u041f\u0435\u0440\u0435\u0439\u0434\u0443 \u0442\u0435\u043f\u0435\u0440\u044c \u043a \u0441\u0443\u0442\u0438. \u041d\u0438\u0436\u0435 \u044f \u043f\u043e\u0434\u0435\u043b\u044e\u0441\u044c \u0441\u0432\u043e\u0438\u043c \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u043c \u043e\u043f\u044b\u0442\u043e\u043c, \u0447\u0442\u043e \u0436\u0435 \u0443 \u043c\u0435\u043d\u044f \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u0438 \u0437\u0430 \u043a\u0430\u043a\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u044f \u043e\u0441\u0438\u043b\u0438\u043b\u0430 \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/750\/fd4\/c61\/750fd4c6170548f2becf60f0591cbadc.jpg\" alt=\"image\"\/><\/p>\n<p>  \u0422\u0443\u0442 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432 todo \u0438 helloworld.<br \/>  \u042f \u043f\u043e\u043a\u0430\u0436\u0443 \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u044f \u0441\u0435\u0439\u0447\u0430\u0441 \u043a\u043e\u0432\u044b\u0440\u044f\u044e \u0438 \u043a\u0430\u043a \u0443 \u043c\u0435\u043d\u044f \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442.<br \/>  \u0412 \u043a\u0443\u0441\u043e\u0447\u043a\u0435 \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0447\u0435\u0440\u0435\u0437 api, \u0432\u044b\u0432\u043e\u0434 \u0438\u0445, \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0430 \u0444\u043e\u0440\u043c\u044b. <\/p>\n<h2>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 Angular 2 \u0438 Laravel.<\/h2>\n<p>  \u042f \u043d\u0435 \u0431\u0443\u0434\u0443 \u0437\u0430\u043e\u0441\u0442\u0440\u044f\u0442\u044c \u043d\u0430 \u044d\u0442\u043e\u043c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435. \u0414\u043b\u044f Angular 2 \u2014 \u0432\u0441\u044f \u0431\u0430\u0437\u043e\u0432\u0430\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0430 \u0432 \u0438\u0445 5-\u0438 \u043c\u0438\u043d\u0443\u0442\u043d\u043e\u043c \u0442\u0443\u0442\u043e\u0440\u0438\u0430\u043b\u0435 HelloWorld.<br \/>  \u0421 Laravel \u0442\u043e\u0436\u0435 \u0431\u0430\u0437\u043e\u0432\u043e\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043e\u043f\u0438\u0441\u0430\u043d\u043e \u0432 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438.<\/p>\n<p>  \u041e\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u044e\u0441\u044c \u043f\u043e\u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u0442\u043e\u043c \u043c\u043e\u043c\u0435\u043d\u0442\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u0435\u043d\u044f \u043d\u0430 \u0441\u0442\u0430\u0440\u0442\u0435 \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u043b\u0438 \u0432 \u0442\u0443\u043f\u0438\u043a.<\/p>\n<p>  \u041a\u043e\u0433\u0434\u0430 \u044f \u043d\u0430\u0447\u0438\u043d\u0430\u043b\u0430 \u043f\u0440\u043e\u0435\u043a\u0442 \u043c\u0435\u043d\u044f \u0432\u043e\u043b\u043d\u043e\u0432\u0430\u043b \u0432\u043e\u043f\u0440\u043e\u0441 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u044d\u0442\u0438\u0445 \u0442\u043e\u0432\u0430\u0440\u0438\u0449\u0435\u0439 \u0432 \u043f\u043b\u0430\u043d\u0435 \u0440\u043e\u0443\u0442\u0438\u043d\u0433\u0430. \u0410 \u0438\u043c\u0435\u043d\u043d\u043e, \u0435\u0441\u043b\u0438 \u0433\u0440\u0443\u0437\u0438\u0442\u044c Angular \u0432 \u043f\u0430\u043f\u043a\u0443 public, \u0442\u043e \u0443 \u043c\u0435\u043d\u044f \u043b\u0438\u0447\u043d\u043e \u0432\u043e\u0437\u043d\u0438\u043a\u043b\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0441 \u0440\u043e\u0443\u0442\u0438\u043d\u0433\u043e\u043c. \u0422\u0430\u043a \u043a\u0430\u043a \u0443 Laravel \u0441\u0432\u043e\u0439 \u0440\u043e\u0443\u0442\u0438\u043d\u0433, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441 \u0440\u043e\u0443\u0442\u0438\u043d\u0433\u043e\u043c Angular \u0443 \u043c\u0435\u043d\u044f \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0438\u043a\u0430\u043a \u043d\u0435 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u043b, \u0430 \u043c\u0430\u043d\u0438\u043f\u0443\u043b\u044f\u0446\u0438\u0438 c \u043e\u0442\u0434\u0430\u0447\u0435\u0439 \u043d\u0443\u0436\u043d\u044b\u0445 \u0440\u043e\u0443\u0442\u043e\u0432 \u043d\u0435 \u043f\u0440\u0438\u0432\u0435\u043b\u0438 \u043a \u043d\u0443\u0436\u043d\u043e\u043c\u0443 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0443. \u041f\u0440\u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u0435 \u0447\u0435\u0440\u0435\u0437 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u043d\u0430 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0443\u044e \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u043c\u043d\u0435 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u0432\u044b\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u043b\u0430\u0441\u044c laravel\u0435\u0432\u0441\u043a\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u0441 \u043e\u0448\u0438\u0431\u043a\u043e\u0439. \u0423\u0431\u0438\u0432 \u043f\u0430\u0440\u0443 \u0447\u0430\u0441\u043e\u0432, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0434\u0440\u0443\u0436\u0438\u0442\u044c \u044d\u0442\u0438\u0445 \u0442\u043e\u0432\u0430\u0440\u0438\u0449\u0435\u0439 \u044f \u043f\u0440\u0438\u043d\u044f\u043b\u0430 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0440\u0430\u0437\u043d\u0435\u0441\u0442\u0438 \u043f\u043e \u0440\u0430\u0437\u043d\u044b\u043c \u0434\u043e\u043c\u0435\u043d\u0430\u043c api(\u0431\u044d\u043a\u0435\u043d\u0434) \u0438 \u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434. \u041a\u0430\u043a \u043f\u043e \u043c\u043d\u0435, \u0442\u0430\u043a \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0437\u0430\u043c\u0435\u043d\u044b \u043e\u0434\u043d\u043e\u0439 \u0438\u043b\u0438 \u0434\u0440\u0443\u0433\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0446\u0435\u043b\u043e\u0433\u043e \u044f \u043d\u0435 \u0431\u0443\u0434\u0443 \u0437\u0430\u0432\u0438\u0441\u0435\u0442\u044c \u043e\u0442 \u043d\u0435\u0437\u0430\u043c\u0435\u043d\u044f\u0435\u043c\u043e\u0439 \u0447\u0430\u0441\u0442\u0438.<br \/>  \u0422\u0430\u043a, \u0447\u0442\u043e, \u0443\u0441\u043b\u043e\u0432\u043d\u043e \u0441\u0435\u0439\u0447\u0430\u0441 \u044f \u0438\u043c\u0435\u044e \u0434\u0432\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u0430. \u041e\u0434\u0438\u043d, \u0443\u0441\u043b\u043e\u0432\u043d\u043e, \u043a\u0440\u0443\u0442\u0438\u0442\u0441\u044f \u043d\u0430 \u0434\u043e\u043c\u0435\u043d\u0435: <strong><code>api.proect.dev<\/code><\/strong>, \u0430 \u0432\u0442\u043e\u0440\u043e\u0439 \u043d\u0430: <strong><code>proect.dev<\/code><\/strong><\/p>\n<p>  \u0422\u0430\u043a \u043a\u0430\u043a \u044f \u0432\u0441\u0435-\u0442\u0430\u043a\u0438 \u0437\u0430\u044f\u0432\u0438\u043b\u0430 \u0432 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0435, \u043f\u0440\u043e \u043f\u043e\u0440\u043e\u0433 \u0432\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f \u0438\u043c\u0435\u043d\u043d\u043e \u0432 Angular, \u0442\u043e \u044f \u043d\u0435 \u0431\u0443\u0434\u0443 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u043e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0430 API. <\/p>\n<h2>\u0411\u044b\u0441\u0442\u0440\u0435\u043d\u044c\u043a\u043e \u0441\u0434\u0435\u043b\u0430\u0435\u043c \u0431\u044d\u043a\u0435\u043d\u0434<\/h2>\n<p>  \u0415\u0441\u043b\u0438 \u043a\u043e\u0440\u043e\u0442\u043a\u043e, \u0442\u043e \u043d\u0430\u0448\u0430 \u0440\u0430\u0431\u043e\u0442\u0430 \u0432\u043e \u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434\u0435 \u0431\u0443\u0434\u0435\u0442 \u043f\u043e 2 \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u043c \u043a \u0431\u044d\u043a\u0435\u043d\u0434\u0443. \u041f\u043e \u043e\u0434\u043d\u043e\u043c\u0443 \u0437\u0430\u043f\u0440\u043e\u0441\u0443 \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 \u0442\u0430\u0431\u043b\u0438\u0446\u044b, \u043f\u043e \u0432\u0442\u043e\u0440\u043e\u043c\u0443 \u043c\u044b \u0442\u0443\u0434\u0430 \u0438\u0445 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \ud83d\ude42 \u042d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u0440\u043d\u043e, \u0412\u0430\u0442\u0441\u043e\u043d \ud83d\ude42<br \/>  \u0414\u0430\u043b\u0435\u0435 \u044f \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0440\u0438\u0432\u0435\u0434\u0443 \u043a\u0443\u0441\u043a\u0438 \u043a\u043e\u0434\u0430 \u0431\u044d\u043a\u0435\u043d\u0434\u0430 \u0441 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u043c\u0438 \u0432 \u0441\u0430\u043c\u043e\u043c \u0436\u0435 \u043a\u043e\u0434\u0435, \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u043c \u0434\u0430\u043b\u044c\u0448\u0435 \u0434\u0432\u0438\u0433\u0430\u0442\u044c\u0441\u044f.<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041a\u043e\u043c\u0443 \u044d\u0442\u043e \u043d\u0430\u0434\u043e &#8212; \u0437\u0430\u0433\u043b\u044f\u0434\u044b\u0432\u0430\u0439\u0442\u0435<\/b><\/p>\n<div class=\"spoiler_text\"><strong><code>php artisan make:model MainCategory -m<\/code><\/strong><\/p>\n<p>  \u042d\u0442\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0441\u043e\u0437\u0434\u0430\u0441\u0442 \u043d\u0430\u043c \u043c\u043e\u0434\u0435\u043b\u044c <code>Main\u0421ategory<\/code> \u0438 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u044e \u0434\u043b\u044f \u044d\u0442\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438.<br \/>  \u0412 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u044e \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u043d\u0443\u0436\u043d\u044b\u0435 \u043d\u0430\u043c \u0441\u0442\u0440\u043e\u0447\u043a\u0438. <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041c\u0438\u0433\u0440\u0430\u0446\u0438\u044f &#8212; \u043a\u0430\u043a \u043e\u043d\u0430 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442<\/b><\/p>\n<div class=\"spoiler_text\"><strong><code>2016_02_22_135455_create_main_categories_table.php<\/code><\/strong><\/p>\n<pre><code class=\"php\">&lt;?php  use Illuminate\\Database\\Schema\\Blueprint; use Illuminate\\Database\\Migrations\\Migration;  class CreateMainCategoriesTable extends Migration {     \/**      * Run the migrations.      *      * @return void      *\/     public function up()     {         Schema::create('main_categories', function (Blueprint $table) {             $table-&gt;increments('id');             $table-&gt;string('name', 255)-&gt;unique(); \/\/\u044d\u0442\u043e \u0443 \u043c\u0435\u043d\u044f \u0431\u0443\u0434\u0435\u0442 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438.              $table-&gt;string('slug', 255)-&gt;unique(); \/\/\u044d\u0442\u043e \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u044d\u0442\u0443 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044e             $table-&gt;boolean('show')-&gt;default(0); \/\/ \u0442\u0443\u0442 \u0441\u0442\u0430\u0442\u0443\u0441 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438 \u043d\u0430 \u0441\u0430\u0439\u0442\u0435. \u0415\u0441\u043b\u0438 true(1) - \u0442\u043e\u0433\u0434\u0430 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c, \u0435\u0441\u043b\u0438 false(0) - \u043d\u0435\u0442.             $table-&gt;timestamps();             $table-&gt;softDeletes();         });     }      \/**      * Reverse the migrations.      *      * @return void      *\/     public function down()     {         Schema::drop('main_categories');     } }<\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041c\u043e\u0434\u0435\u043b\u044c &#8212; \u043a\u0430\u043a \u043e\u043d\u0430 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442<\/b><\/p>\n<div class=\"spoiler_text\"><strong><code>MainCategory.php<\/code><\/strong><\/p>\n<pre><code class=\"php\">&lt;?php namespace App\\Models\\Catalog;  use Illuminate\\Database\\Eloquent\\Model; use Illuminate\\Database\\Eloquent\\SoftDeletes;  \/**  * Class MainCategory  *  * @package App  *  * @property integer  $id $primaryKey $autoincrement  * @property string   $name $unique  * @property string   slug $unique  * @property boolean  show  * @property datetime created_at  * @property datetime updated_at  * @property datetime deleted_at  *\/ class MainCategory extends Model {     use SoftDeletes;      protected $fillable = ['name', 'slug', 'show'];      protected $guarded = ['id'];      protected $dates = ['created_at', 'updated_at', 'deleted_at'];  }<\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  \u041d\u0443 \u0438 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043e \u0441\u0442\u043e\u0440\u043e\u043d\u044b php \u0431\u0443\u0434\u0435\u0442 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0442\u044c \u0432 \u043a\u0430\u043a\u043e\u043c \u0432\u0438\u0434\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c, \u043a\u0430\u043a \u0438\u0445 \u0438\u0437 \u0431\u0430\u0437\u044b \u0432\u044b\u0442\u0430\u0441\u043a\u0438\u0432\u0430\u0442\u044c, \u043a\u0430\u043a \u0437\u0430\u043f\u0438\u0445\u0438\u0432\u0430\u0442\u044c \u0438\u0445 \u043e\u0431\u0440\u0430\u0442\u043d\u043e. \u041e\u043d \u0441\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 <strong><code>php artisan make:controller MainCategoryController<\/code><\/strong><br \/>  \u0423 \u043c\u0435\u043d\u044f \u043e\u043d \u043b\u0435\u0436\u0438\u0442 \u0432 \u0441\u0432\u043e\u0435\u0439 \u043f\u0430\u043f\u043e\u0447\u043a\u0435 \u0441 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c Catalog, \u043e\u0431\u0440\u0430\u0449\u0430\u044e \u043d\u0430 \u044d\u0442\u043e \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0442\u0430\u043a \u043a\u0430\u043a \u0434\u0430\u043b\u044c\u0448\u0435 \u0432 \u0440\u043e\u0443\u0442\u0430\u0445 \u043e\u043d \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u043a\u043e\u043b\u044c\u0437\u043d\u0435\u0442.<br \/>  \u0422\u0430\u043a, \u043a\u0430\u043a \u0447\u0442\u043e\u0431\u044b \u0441\u043e \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u0431\u044d\u043a\u0435\u043d\u0434\u0430 \u043d\u0435 \u043f\u043b\u043e\u0434\u0438\u0442\u044c \u043d\u0435\u043d\u0443\u0436\u043d\u044b \u043f\u0430\u043f\u043a\u0438-\u043f\u043e\u0434\u043f\u0430\u043f\u043a\u0438 \u044f \u0440\u0435\u0448\u0438\u043b\u0430, \u0447\u0442\u043e \u0432 \u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u043c \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0435 \u043f\u043e\u0434 \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f\u043c\u0438 \u043f\u043b\u043e\u0434\u0438\u0442\u044c \u043d\u0443\u0436\u043d\u044b\u0435 \u043c\u043d\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \ud83d\ude42 <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 &#8212; \u043a\u0430\u043a \u043e\u043d \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442<\/b><\/p>\n<div class=\"spoiler_text\"><strong><code>MainCategoryController.php<\/code><\/strong><\/p>\n<pre><code class=\"php\">&lt;?php  namespace App\\Http\\Controllers\\Catalog;  use App\\Models\\Catalog\\MainCategory; use Illuminate\\Http\\Request;  use App\\Http\\Requests; use App\\Http\\Controllers\\Controller;  \/**  * @api  * @package     App\\Http\\Controllers\\Catalog  * @class    MainCategoryController  *\/ class MainCategoryController extends Controller {     \/**      * \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0441\u043f\u0438\u0441\u043e\u043a \u0432\u0441\u0435\u0445 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0439 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430 \u0441\u043e \u0432\u0441\u0435\u043c\u0438 \u043f\u043e\u043b\u044f\u043c\u0438      * @function indexAdmin      * @return mixed $main_categories      *\/     public function indexAdmin()     {         $main_categories = MainCategory::all();         return $main_categories;     }      \/**      * @function createAdmin      * \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043d\u043e\u0432\u043e\u0439 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430. \u0414\u043e\u0441\u0442\u0443\u043f\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0435      *      * @param Request $request      *\/     public function createAdmin(Request $request)     {         $main_category = new MainCategory;         $main_category-&gt;name = $request-&gt;name;         $main_category-&gt;slug = $request-&gt;slug;         $main_category-&gt;show = $request-&gt;show;         $main_category-&gt;save();     } }<\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  \u041d\u0443 \u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435, \u0447\u0442\u043e \u043e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u2014 \u044d\u0442\u043e \u043f\u0440\u043e\u043f\u0438\u0441\u0430\u0442\u044c \u043f\u0443\u0442\u0438. \u0412\u043e\u0442 \u043a\u0443\u0441\u043e\u0447\u0435\u043a <strong><code>route.php<\/code><\/strong> \u0438 2 \u043f\u0443\u0442\u0438 \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u043c\u044b \u0438 \u0431\u0443\u0434\u0435\u043c \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0442\u044c \u043d\u0443\u0436\u043d\u0443\u044e \u043d\u0430\u043c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e.<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u0443\u0442\u0438<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"php\">Route::group(['middleware' =&gt; 'cors'], function() {     Route::group(['middleware' =&gt; 'api'], function () {             Route::group(['prefix' =&gt; 'backend'], function () {                 Route::group(['namespace' =&gt; 'Catalog', 'prefix' =&gt; 'catalog'], function () {                     Route::get('\/main-categories', 'MainCategoryController@indexAdmin');                     Route::post('\/main-category\/create', 'MainCategoryController@createAdmin');                 });             });     }); });<\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <\/div>\n<\/div>\n<p>  \u041d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u043c\u044b \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c 2 \u0441\u0441\u044b\u043b\u043a\u0438: <\/p>\n<pre><code>get: http:\/\/api.project.dev\/backend\/catalog\/main-categories post: http:\/\/api.project.dev\/backend\/catalog\/main-category\/create<\/code><\/pre>\n<p>  \u041d\u0430 \u044d\u0442\u043e\u043c \u043c\u0438\u0441\u0441\u0438\u044f \u043f\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 \u0431\u044d\u043a\u0435\u043d\u0434 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0430.<\/p>\n<h2>\u0423\u0440\u0430! \u041e\u0431\u0435\u0449\u0430\u043d\u043d\u044b\u0439 Angular 2.<\/h2>\n<p>  \u041d\u0443 \u0442\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441\u0430\u043c\u043e\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0435.<br \/>  \u0422\u0430\u043a \u043a\u0430\u043a \u044f \u043f\u043e\u043a\u0430 \u0435\u0449\u0435 \u043d\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043b\u0430\u0441\u044c \u043e\u043a\u043e\u043d\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u043e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043e\u0439 \u0432 \u0441\u0430\u043c\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u0438 \u0447\u0442\u043e \u0438 \u043a\u0430\u043a \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\u0445 \u0431\u0443\u0434\u0443 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c, \u0442\u043e \u0432\u043e\u0442 \u0441\u043a\u0440\u0438\u043d \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u044d\u0442\u043e \u0441\u0435\u0439\u0447\u0430\u0441 \u0443 \u043c\u0435\u043d\u044f \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442. \u0415\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435, \u0447\u0442\u043e \u0434\u043b\u044f habra \u044f \u043a\u0443\u0441\u043e\u0447\u043a\u0438 \u0448\u0430\u0431\u043b\u043e\u043d\u043e\u0432 \u0432\u043d\u0435\u0441\u0443 \u0432 \u0441\u0430\u043c\u0438 <code>.ts<\/code> \u0441\u043a\u0440\u0438\u043f\u0442\u044b, \u0445\u043e\u0442\u044f \u0443 \u043c\u0435\u043d\u044f \u043e\u043d\u0438 \u0441\u0435\u0439\u0447\u0430\u0441 \u0432\u044b\u043d\u0435\u0441\u0435\u043d\u044b \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0435 html.<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/6af\/758\/cd7\/6af758cd764a4df8835a7cdf541adf63.png\" alt=\"image\"\/><\/p>\n<p>  \u041a\u0430\u043a \u044f \u0443\u0436\u0435 \u0433\u043e\u0432\u043e\u0440\u0438\u043b\u0430 \u2014 \u0437\u0430 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a \u044f \u0431\u0440\u0430\u043b\u0430 \u0431\u0430\u0437\u043e\u0432\u0443\u044e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u0438\u0437 \u0442\u0443\u0442\u043e\u0440\u0438\u0430\u043b\u0430. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0442\u0443\u0442 \u043d\u0438\u0447\u0435\u0433\u043e \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0433\u043e \u043d\u0435\u0442. \u041d\u0443, \u043a\u0440\u043e\u043c\u0435, \u0447\u0442\u043e main.ts \u044f \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043b\u0430 \u0434\u043b\u044f \u0441\u0435\u0431\u044f \u0432 boot.ts \ud83d\ude42 <\/p>\n<p>  <strong><code>index.html<\/code><\/strong><br \/>  \u0415\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435, \u043d\u0430 \u0447\u0442\u043e \u0437\u0434\u0435\u0441\u044c \u0441\u0442\u043e\u0438\u0442 \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u044c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0442\u0430\u043a \u044d\u0442\u043e \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u043a \u0431\u0430\u0437\u043e\u0432\u044b\u043c \u0441\u043a\u0440\u0438\u043f\u0442\u0430\u043c \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u044b <\/p>\n<pre><code>&lt;script src=&quot;node_modules\/angular2\/bundles\/router.dev.js&quot;&gt;&lt;\/script&gt; &lt;script src=&quot;node_modules\/angular2\/bundles\/http.dev.js&quot;&gt;&lt;\/script&gt;<\/code><\/pre>\n<p>  \u0411\u0435\u0437 \u044d\u0442\u0438\u0445 \u0442\u043e\u0432\u0430\u0440\u0438\u0449\u0435\u0439 \u043d\u0435 \u0431\u0443\u0434\u0443\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0440\u043e\u0443\u0442\u044b \u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u044b-\u043e\u0442\u0432\u0435\u0442\u044b \u043a API.<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u043e\u043b\u043d\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 index.html<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"html\">&lt;html&gt; &lt;head&gt;     &lt;base href=&quot;\/&quot;&gt;     &lt;title&gt;Angular 2 QuickStart&lt;\/title&gt;     &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1&quot;&gt;      &lt;!-- 1. Load libraries --&gt;     &lt;!-- IE required polyfills, in this exact order --&gt;     &lt;script src=&quot;node_modules\/es6-shim\/es6-shim.js&quot;&gt;&lt;\/script&gt;     &lt;script src=&quot;node_modules\/systemjs\/dist\/system-polyfills.js&quot;&gt;&lt;\/script&gt;     &lt;script src=&quot;node_modules\/angular2\/es6\/dev\/src\/testing\/shims_for_IE.js&quot;&gt;&lt;\/script&gt;     &lt;script src=&quot;node_modules\/angular2\/bundles\/angular2-polyfills.js&quot;&gt;&lt;\/script&gt;     &lt;script src=&quot;node_modules\/systemjs\/dist\/system.src.js&quot;&gt;&lt;\/script&gt;     &lt;script src=&quot;node_modules\/rxjs\/bundles\/Rx.js&quot;&gt;&lt;\/script&gt;     &lt;script src=&quot;node_modules\/angular2\/bundles\/angular2.dev.js&quot;&gt;&lt;\/script&gt;     &lt;script src=&quot;node_modules\/angular2\/bundles\/router.dev.js&quot;&gt;&lt;\/script&gt;     &lt;script src=&quot;node_modules\/angular2\/bundles\/http.dev.js&quot;&gt;&lt;\/script&gt;     &lt;!-- 2. Configure SystemJS --&gt;     &lt;script&gt;         System.config({             packages: {                 app: {                     format: 'register',                     defaultExtension: 'js'                 }             }         });         System.import('app\/boot')                 .then(null, console.error.bind(console));     &lt;\/script&gt; &lt;\/head&gt; &lt;!-- 3. Display the application --&gt; &lt;body&gt; &lt;shop-app&gt;Loading...&lt;\/shop-app&gt; &lt;\/body&gt; &lt;\/html&gt;<\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  \u0412 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u0441\u0435\u0439\u0447\u0430\u0441 \u0435\u0441\u0442\u044c 2 \u0440\u043e\u0443\u0442\u0430: \u044d\u0442\u043e \u0433\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u043e\u0436\u043d\u043e \u0432\u0435\u0440\u043d\u0443\u0442\u044c\u0441\u044f \u0438 \u044d\u0442\u043e \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u0441 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435\u043c \u0432\u0441\u0435\u0445 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0439 \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u043d\u043e\u0432\u043e\u0439. <\/p>\n<p>  \u0420\u043e\u0443\u0442\u044b \u0443 \u043c\u0435\u043d\u044f \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u044b \u0432 <code>app.component.ts<\/code>. \u0418, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043e\u043d \u0436\u0435 \u0443 \u043c\u0435\u043d\u044f \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0442\u0435\u043c \u0441\u0430\u043c\u044b\u043c \u0432\u0445\u043e\u0434\u043d\u044b\u043c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438 \u0432\u0438\u0434\u043d\u043e \u0432 \u0432\u0438\u0434\u0435 \u0442\u044d\u0433\u043e\u0432 <code>&lt;shop-app&gt;&lt;\/shop-app&gt;<\/code> \u043d\u0430 \u0433\u043b\u0430\u0432\u043d\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435.<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u043e\u043b\u043d\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 app.component.ts<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"javascript\">import {Component} from 'angular2\/core'; import {RouteConfig, ROUTER_DIRECTIVES, ROUTER_PROVIDERS} from &quot;angular2\/router&quot;; import {HomePageComponent} from &quot;.\/home-page\/home-page.component&quot; import {DashboardMainCategoryComponent} from &quot;.\/dashboard\/catalog\/main-category\/main-category.root.component&quot;;  @Component({     selector: 'shop-app',     template: `     &lt;a [routerLink]=&quot;['HomePage']&quot;&gt;\u0413\u043b\u0430\u0432\u043d\u0430\u044f&lt;\/a&gt;     &lt;a [routerLink]=&quot;['\/DashboardMainCategory']&quot;&gt;\u041a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438&lt;\/a&gt;     &lt;router-outlet&gt;&lt;\/router-outlet&gt;     `,     directives: [ROUTER_DIRECTIVES],     providers: [ROUTER_PROVIDERS] })  @RouteConfig([     {         path: '\/',         name: 'HomePage',         component: HomePageComponent,         useAsDefault: true     },      {         path: '\/main-category',         name: 'DashboardMainCategory',         component: DashboardMainCategoryComponent     }  ]) export class ShopAppComponent { }<\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  \u0421\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u0440\u043e\u0443\u0442\u044b \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438 \u043d\u0430\u043c \u043e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u0432\u0441\u0435\u0433\u043e-\u043d\u0438\u0447\u0435\u0433\u043e \u2014 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b: <code>HomePageComponent<\/code> \u0438 <code>DashboardMainCategoryComponent<\/code>.<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u043e\u043b\u043d\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 HomePageComponent &#8212; home-page.component.ts<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"javascript\">import {Component} from &quot;angular2\/core&quot;;  @Component({     selector: 'home-page',     template: '&lt;h1&gt;\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430&lt;\/h1&gt;' })  export class HomePageComponent {}<\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u043e\u043b\u043d\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 DashboardMainCategoryComponent &#8212; main-category.root.component.ts<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"javascript\">import {Component} from &quot;angular2\/core&quot;;  @Component({     selector: 'dashboard-main-category',     template: '&lt;h1&gt;\u041a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438&lt;\/h1&gt;' })  export class DashboardMainCategoryComponent {}<\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  \u0422\u0430\u043a, \u0441\u0434\u0435\u043b\u0430\u043b\u0438. \u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u0434\u043e \u043f\u043e\u0439\u0442\u0438 \u0432 boot.ts \u0438 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 <code>ShopAppComponent<\/code>.<\/p>\n<p>  <strong><code>boot.ts<\/code><\/strong><br \/>  \u042d\u0442\u043e \u0441\u0430\u043c\u044b\u0439 \u043f\u0443\u0441\u0442\u043e\u0439 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u0432 \u043c\u043e\u0435\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \ud83d\ude42 \u0423 \u043c\u0435\u043d\u044f \u043e\u043d \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0434\u0435\u043b\u0430\u0435\u0442, \u043a\u0440\u043e\u043c\u0435 \u043a\u0430\u043a \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442 \u0432\u0441\u0435, \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0438\u0437 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430 \u0441 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c <code>app.component.ts<\/code><\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u043e\u043b\u043d\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 boot.ts<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"javascript\">import {bootstrap} from 'angular2\/platform\/browser' import {ShopAppComponent} from &quot;.\/app.component&quot;;  bootstrap(ShopAppComponent);<\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  \u041d\u0430 \u044d\u0442\u043e\u043c \u0441 \u0440\u043e\u0443\u0442\u0430\u043c\u0438 \u043c\u044b \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u0438. \u0418, \u0435\u0441\u043b\u0438 \u0441\u0435\u0439\u0447\u0430\u0441 \u0441\u0434\u0435\u043b\u0430\u0442\u044c <strong><code>npm run start<\/code><\/strong>, \u0442\u043e \u0443 \u0432\u0430\u0441 \u0443\u0436\u0435 \u0431\u0443\u0434\u0435\u0442 \u0441\u0430\u0439\u0442 \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043f\u0440\u044b\u0433\u0430\u0442\u044c \u043c\u0435\u0436\u0434\u0443 \u0434\u0432\u0443\u043c\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043a\u0430\u043c\u0438.<\/p>\n<p>  \u041f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u0441\u0430\u043c\u043e\u043c\u0443 \u0432\u043a\u0443\u0441\u043d\u043e\u043c\u0443 \u2014 \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0441\u0434\u0435\u043b\u0430\u0435\u043c \u0442\u0430\u043a, \u0447\u0442\u043e\u0431\u044b \u0443 \u043d\u0430\u0441 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u043b\u0438\u0441\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 \u0431\u0430\u0437\u044b.<\/p>\n<blockquote><p>\u0422\u0430\u043a, \u043a\u0430\u043a \u044f \u043d\u0435 \u043b\u044e\u0431\u043b\u044e \u0432\u0441\u0435 \u043c\u0435\u0448\u0430\u0442\u044c \u0432 \u043e\u0434\u043d\u0443 \u043a\u0443\u0447\u0443, \u0442\u043e \u044f \u0440\u0430\u0437\u043d\u044b\u0435 \u0432\u0435\u0449\u0438 \u0441\u0435\u0439\u0447\u0430\u0441 \u0440\u0430\u0437\u043d\u043e\u0448\u0443 \u043f\u043e \u0440\u0430\u0437\u043d\u044b\u043c \u0441\u043a\u0440\u0438\u043f\u0442\u0430\u043c. \u041f\u043e\u0442\u043e\u043c \u043c\u043e\u0436\u0435\u0442 \u044f \u043f\u0440\u0438\u0434\u0443 \u043a \u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u0443 \u043c\u0435\u043d\u044f \u0438\u0437\u0431\u044b\u0442\u043e\u043a \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u0438\u043a\u043e\u0432 \u0438 \u0431\u0443\u0434\u0443 \u0440\u0435\u0444\u0430\u043a\u0442\u043e\u0440\u0438\u0442\u044c, \u043d\u043e \u043f\u043e\u043a\u0430 \u0434\u043b\u044f \u0441\u0432\u043e\u0435\u0433\u043e \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u044f \u0434\u0435\u043b\u0430\u044e \u0442\u0430\u043a \u043a\u0430\u043a \u0434\u0435\u043b\u0430\u044e.<\/p><\/blockquote>\n<p>  <\/p>\n<h3>\u0411\u0430\u0437\u043e\u0432\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c MainCategory<\/h3>\n<p>  \u041f\u0435\u0440\u0432\u043e-\u043d\u0430\u043f\u0435\u0440\u0432\u043e \u043d\u0430\u043c \u043d\u0430\u0434\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u043a\u043b\u0430\u0441\u0441 \u2014 \u0430\u043d\u0430\u043b\u043e\u0433 \u041c\u043e\u0434\u0435\u043b\u0438 \u043d\u0430 php, pojo \u2014 \u043d\u0430 java.<br \/>  \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0435\u0433\u043e \u043e\u0431\u0437\u043e\u0432\u0435\u043c \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0447\u043d\u043e: <strong><code>main-category.ts<\/code><\/strong><\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u043e\u043b\u043d\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 main-category.ts<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"javascript\">export class MainCategory{     constructor(         public id: number,         public name: string,         public slug: string,         public show: boolean,         public created_at: string,         public updated_at: string,         public deleted_at: string     ) {} }<\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  \u0412\u0441\u0435, \u0447\u0442\u043e \u043e\u043d \u0434\u0435\u043b\u0430\u0435\u0442 \u2014 \u0442\u0430\u043a \u044d\u0442\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043d\u0430\u043c \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u0442\u0435\u0445 \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0442\u044c \u0438\u043b\u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u043f\u043e API. <\/p>\n<blockquote><p>\u041c\u043e\u0436\u0435\u0442 \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u0443\u0442\u044c \u0432\u043e\u043f\u0440\u043e\u0441 \u2014 \u043f\u043e\u0447\u0435\u043c\u0443 \u0434\u0430\u0442\u044b \u0443 \u043c\u0435\u043d\u044f \u043a\u0430\u043a string. \u0421\u043a\u0430\u0436\u0443 \u0447\u0435\u0441\u0442\u043d\u043e \u2014 \u0443 \u043c\u0435\u043d\u044f \u0431\u044b\u043b \u043a\u043e\u0441\u044f\u043a \u0441 \u0442\u0435\u043c, \u0447\u0442\u043e\u0431\u044b \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0442\u044c \u0434\u0430\u0442\u044b \u043a\u0430\u043a \u0434\u0430\u0442\u044b. \u041f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u0432\u044b\u0434\u0430\u0432\u0430\u043b\u043e \u043e\u0448\u0438\u0431\u043a\u0443, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u043f\u043e\u043a\u0430 \u043e\u0442\u043e\u043b\u043e\u0436\u0438\u043b\u0430 \u043b\u043e\u043c\u0430\u043d\u0438\u0435 \u0433\u043e\u043b\u043e\u0432\u044b \u0438 \u043f\u043e\u0448\u043b\u0430 \u043f\u043e \u043f\u0440\u043e\u0441\u0442\u043e\u043c\u0443 \u043f\u0443\u0442\u0438.<\/p><\/blockquote>\n<p>  <\/p>\n<h3>MainCategoryService<\/h3>\n<p>  \u041b\u0430\u0434\u043d\u043e, \u043f\u0435\u0440\u0432\u044b\u0439 \u0448\u0430\u0433 \u0441\u0434\u0435\u043b\u0430\u043b\u0438. \u041f\u043e\u0442\u043e\u043f\u0430\u043b\u0438 \u0434\u0430\u043b\u044c\u0448\u0435. \u0415\u0441\u043b\u0438 \u0437\u0430\u0433\u043b\u044f\u043d\u0443\u0442\u044c \u0432 ARCHITECTURE OVERVIEW Angular2, \u0442\u0430\u043c \u043e\u043d\u0438 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e\u0442 \u043f\u0440\u0438\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0442\u043e\u0439 \u0438\u0434\u0435\u0438, \u0447\u0442\u043e \u0442\u0443 \u0447\u0430\u0441\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0447\u0442\u043e-\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044f, \u043b\u043e\u0433\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435, \u043a\u0430\u043b\u044c\u043a\u0443\u043b\u044f\u0442\u043e\u0440 \u043f\u043e\u0448\u043b\u0438\u043d\u044b \u0438\u043b\u0438, \u043a\u0430\u043a \u0432 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u2014 \u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043f\u043e API) \u043d\u0430\u0434\u043e \u043d\u0430\u0437\u044b\u0432\u0430\u0442\u044c service \u0438 \u0432\u044b\u043d\u043e\u0441\u0438\u0442\u044c \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0444\u0430\u0439\u043b, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u044b \u043f\u043e\u0442\u043e\u043c \u0431\u0443\u0434\u0435\u043c \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0442\u0443\u0434\u0430, \u043a\u0443\u0434\u0430 \u043d\u0430\u0434\u043e. \u042d\u0442\u043e \u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e, \u043d\u043e \u0436\u0435\u043b\u0430\u0442\u0435\u043b\u044c\u043d\u043e. \u042f \u0442\u0430\u043a \u0438 \u043f\u043e\u0441\u0442\u0443\u043f\u0438\u043b\u0430. \u041e\u0442\u0441\u044e\u0434\u0430 \u0443 \u043c\u0435\u043d\u044f \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f <strong><code>main-category.service.ts<\/code><\/strong><\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u043e\u043b\u043d\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 main-category.service.ts<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"javascript\">import {Injectable} from &quot;angular2\/core&quot;; import {Http, Headers, RequestOptions, Response} from &quot;angular2\/http&quot;; import {Observable} from &quot;rxjs\/Observable&quot;; import 'rxjs\/Rx'; \/\/\u0431\u0435\u0437 \u044d\u0442\u043e\u0433\u043e \u0438\u043c\u043f\u043e\u0440\u0442\u0430 \u0443 \u043d\u0430\u0441 \u043b\u044e\u0431\u043e\u0435 \u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0441 API \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u043e\u0448\u0438\u0431\u043a\u0430\u043c\u0438. \u0412\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0444\u0438\u0447\u0430, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043e\u0431\u0435\u0449\u0430\u044e\u0442 \u043d\u0430\u0439\u0442\u0438 \u0438 \u0443\u0441\u0442\u0440\u0430\u043d\u0438\u0442\u044c import {MainCategory} from &quot;.\/main-category&quot;;  \/\/@Injectable - \u0434\u0435\u043a\u043e\u0440\u0430\u0442\u043e\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u043e \u043d\u0430\u0448\u0435\u043c \u0441\u0435\u0440\u0432\u0438\u0441\u0435. @Injectable() export class MainCategoryService {      constructor (private http: Http) {}      \/\/\u0442\u0430\u043a \u043a\u0430\u043a \u0443 \u043c\u0435\u043d\u044f \u043f\u043e \u0440\u0430\u0437\u043d\u044b\u043c \u0441\u0441\u044b\u043b\u043a\u0430\u043c \u0437\u0430\u043f\u0440\u043e\u0441 \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445, \u0442\u043e \u044f \u0441\u0434\u0435\u043b\u0430\u043b\u0430 2 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0441 \u0438\u0445 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u0435\u043c. \u0415\u0441\u043b\u0438 \u0432\u0434\u0440\u0443\u0433 \u0447\u0442\u043e \u043f\u043e\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0432 \u0441\u0441\u044b\u043b\u043a\u0430\u0445, \u0442\u043e \u043c\u043d\u0435 \u043d\u0435 \u043d\u0430\u0434\u043e \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0437\u044b\u0441\u043a\u0438\u0432\u0430\u0442\u044c \u043f\u043e \u0432\u0441\u0435\u043c\u0443 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0443 :) \u0423\u0434\u043e\u0431\u043d\u043e     private _getAdminMainCategories = 'http:\/\/api.shops.dev:8080\/backend\/catalog\/main-categories';     private _createAdminMainCategory = 'http:\/\/api.shops.dev:8080\/backend\/catalog\/main-category\/create';     \/\/\u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u043c \u0432\u0441\u0435 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430     getAdminMainCategories() {         \/\/\u043e\u0431\u0440\u0430\u0449\u0430\u0435\u043c\u0441\u044f \u043a API \u0447\u0435\u0440\u0435\u0437 get         return this.http.get(this._getAdminMainCategories)                         \/\/\u0442\u0443\u0442 \u043c\u044b \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u043c \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435. \u0412 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 - \u043c\u0430\u0441\u0441\u0438\u0432 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0439 \u0432 json \u0444\u043e\u0440\u043c\u0430\u0442\u0435                         .map(res =&gt; &lt;MainCategory[]&gt; res.json())                         .catch(this.handleError);     }      \/\/\u0441\u043e\u0437\u0434\u0430\u0435\u043c \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044e \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430. \u0422\u0430\u043a \u043a\u0430\u043a \u043c\u044b \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u0437\u043d\u0430\u0435\u043c \u043a\u0430\u043a\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0438 \u0432 \u043a\u0430\u043a\u043e\u043c \u0432\u0438\u0434\u0435 \u043d\u0430\u043c \u043f\u0440\u0438\u0445\u043e\u0434\u044f\u0442, \u0442\u043e \u043c\u044b \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c, \u0447\u0442\u043e \u0431\u0443\u0434\u0435\u043c \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c     createAdminMainCategory(name:String, slug:String, show:boolean) : Observable&lt;MainCategory&gt; {         \/\/\u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 JSON-\u0441\u0442\u0440\u043e\u043a\u0443. \u041e\u0431\u0435\u0449\u0430\u044e\u0442, \u0447\u0442\u043e \u043f\u043e\u0442\u043e\u043c \u043d\u0430\u043c \u044d\u0442\u0430 \u0441\u0442\u0440\u043e\u0447\u043a\u0430 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u043d\u0443\u0436\u043d\u0430         let body = JSON.stringify({name, slug, show});         \/\/\u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u043d\u0443\u0436\u043d\u044b\u0439 \u043d\u0430\u043c \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a         let headers = new Headers({ 'Content-Type': 'application\/json' });         let options = new RequestOptions({ headers: headers });          \/\/\u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435         return this.http.post(this._createAdminMainCategory, body, options)             .map(res =&gt;  &lt;MainCategory&gt; res.json())             .catch(this.handleError)     }      private handleError (error: Response) {         \/\/in a real world app, we may send the error to some remote logging infrastructure         \/\/instead of just logging it to the console         console.error(error);         return Observable.throw(error.json().error || 'Server error');     } }<\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  \u041d\u0430 \u044d\u0442\u043e\u043c \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0435 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c \u043c\u044b \u043e\u043f\u0438\u0441\u0430\u043b\u0438. \u041e\u0441\u0442\u0430\u043b\u0430\u0441\u044c \u0441\u0443\u0449\u0430\u044f \u0435\u0440\u0443\u043d\u0434\u0430 \u2014 \u043f\u0430\u0440\u0430 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0438 \u0434\u0435\u043b\u043e \u0432 \u0448\u043b\u044f\u043f\u0435!<\/p>\n<h3>GetMainCategories<\/h3>\n<p>  \u041d\u0430\u0447\u043d\u0435\u043c \u0441 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435: <strong><code>main-category.get.component.ts<\/code><\/strong><\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u043e\u043b\u043d\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 main-category.get.component.ts`<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"javascript\">import {Component} from &quot;angular2\/core&quot;; import {MainCategoryService} from &quot;.\/main-category.service&quot;; import {OnInit} from &quot;angular2\/core&quot;; import {MainCategory} from &quot;.\/main-category&quot;;  @Component({     selector: 'backend-get-main-categories',     templateUrl: 'app\/dashboard\/catalog\/main-category\/main-category.get.template.html',     providers: [MainCategoryService] \/\/\u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430 \u043a\u0430\u043a \u0440\u0430\u0437 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0439 \u043d\u0430\u043c\u0438 \u0441\u0435\u0440\u0432\u0438\u0441 })  export class BackendGetMainCategories implements OnInit {      constructor (private _mainCategoryService: MainCategoryService) {}      errorMessage: string;     mainCategories: MainCategory[];      ngOnInit() {         this.getAdminMainCategories();     }     \/\/\u043e\u0431\u0440\u0430\u0449\u0430\u0435\u043c\u0441\u044f \u043a \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u043e\u043c\u0443 \u043d\u0430\u043c\u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u0443, \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e \u043a getAdminMainCategories     getAdminMainCategories() {         this._mainCategoryService.getAdminMainCategories()                                 .subscribe(                                     mainCategories =&gt; this.mainCategories = mainCategories,                                     error =&gt; this.errorMessage = &lt;any&gt;error                                 );     } }<\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u043e\u043b\u043d\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0448\u0430\u0431\u043b\u043e\u043d\u0430 main-category.get.template.html<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"html\">&lt;h1&gt;\u041a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430&lt;\/h1&gt; &lt;table&gt;     &lt;thead&gt;     &lt;tr&gt;         &lt;th&gt;id&lt;\/th&gt;         &lt;th&gt;name&lt;\/th&gt;         &lt;th&gt;slug&lt;\/th&gt;         &lt;th&gt;show&lt;\/th&gt;         &lt;th&gt;created_at&lt;\/th&gt;         &lt;th&gt;updated_at&lt;\/th&gt;         &lt;th&gt;deleted_at&lt;\/th&gt;     &lt;\/tr&gt;     &lt;\/thead&gt;     &lt;tbody&gt;    &lt;!--Angular \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u0442 \u0441\u0442\u0440\u043e\u043a\u0443 \u0434\u043e \u0442\u0435\u0445 \u043f\u043e\u0440 \u043f\u043e\u043a\u0430 \u0443 \u043d\u0430\u0441 \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0435 \u0437\u0430\u043a\u043e\u043d\u0447\u0430\u0442\u0441\u044f :)--&gt;     &lt;tr *ngFor=&quot;#mainCategory of mainCategories&quot;&gt;         &lt;td&gt;{{ mainCategory.id }}&lt;\/td&gt;         &lt;td&gt;{{ mainCategory.name }}&lt;\/td&gt;         &lt;td&gt;{{ mainCategory.slug }}&lt;\/td&gt;         &lt;td&gt;{{ mainCategory.show }}&lt;\/td&gt;         &lt;td&gt;{{ mainCategory.created_at }}&lt;\/td&gt;         &lt;td&gt;{{ mainCategory.updated_at }}&lt;\/td&gt;         &lt;td&gt;{{ mainCategory.deleted_at }}&lt;\/td&gt;     &lt;\/tr&gt;     &lt;\/tbody&gt; &lt;\/table&gt;<\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <\/p>\n<h3>PostMainCategory<\/h3>\n<p>  <\/p>\n<blockquote><p>\u0412 Angular2 \u0435\u0441\u0442\u044c \u0434\u0432\u0430 \u0441\u043f\u043e\u0441\u043e\u0431\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0444\u043e\u0440\u043c \u2014 template \u0438 data-driven. \u041f\u0440\u0438\u043d\u0446\u0438\u043f\u0438\u0430\u043b\u044c\u043d\u043e\u0435 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u0443 \u043d\u0438\u0445 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0432 template \u2014 \u0432\u0441\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043f\u0438\u0448\u0443\u0442\u0441\u044f \u0432 \u0441\u0430\u043c\u043e\u043c \u0448\u0430\u0431\u043b\u043e\u043d\u0435. \u0422.\u0435. \u044d\u0442\u043e \u0431\u043e\u043b\u0435\u0435 \u0431\u043b\u0438\u0437\u043a\u043e \u043a Angular1. Data-driven \u2014 \u044d\u0442\u043e \u043d\u043e\u0432\u043e\u0432\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0432 Angular2 \u0438 \u0432\u0441\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0443\u0445\u043e\u0434\u044f\u0442 \u0438\u0437 \u0448\u0430\u0431\u043b\u043e\u043d\u0430. \u041d\u0443 \u044d\u0442\u043e \u043f\u043e\u043a\u0430 \u0442\u043e \u043a\u0430\u043a \u044f \u0434\u043b\u044f \u0441\u0435\u0431\u044f \u043f\u043e\u043d\u044f\u043b\u0430 \u044d\u0442\u0443 \u0440\u0430\u0437\u043d\u0438\u0446\u0443. \u0411\u043e\u044e\u0441\u044c, \u0447\u0442\u043e \u0442\u0435\u043c\u0443 \u044f \u0434\u043e \u043a\u043e\u043d\u0446\u0430 \u043d\u0435 \u0440\u0430\u0441\u043a\u0440\u044b\u043b\u0430, \u0442\u0430\u043a \u043a\u0430\u043a \u0432 \u0433\u043e\u043b\u043e\u0432\u0435 \u043f\u043e \u043f\u043e\u0432\u043e\u0434\u0443 \u044d\u0442\u0438\u0445 \u0444\u043e\u0440\u043c \u0435\u0449\u0435 \u043a\u0430\u0448\u0430. \u0427\u0435\u0441\u0442\u043d\u043e \u0441\u043a\u0430\u0437\u0430\u0442\u044c \u2014 \u0432\u0442\u043e\u0440\u043e\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0441 \u0444\u043e\u0440\u043c\u0430\u043c\u0438 \u043c\u043d\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u0441\u044f \u043f\u0440\u043e\u0449\u0435 \u0438 \u0447\u0438\u0449\u0435. \u041d\u043e \u0441 \u043d\u0438\u043c \u0435\u0441\u0442\u044c \u0441\u0435\u0439\u0447\u0430\u0441 \u043c\u043d\u043e\u0433\u043e \u0441\u0432\u043e\u0438\u0445 \u043a\u043e\u0441\u044f\u043a\u043e\u0432.<\/p><\/blockquote>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u043e\u043b\u043d\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0448\u0430\u0431\u043b\u043e\u043d\u0430 main-category.create.component.html<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"javascript\">import {Component} from &quot;angular2\/core&quot;; import {MainCategoryService} from &quot;.\/main-category.service&quot;; import {OnInit} from &quot;angular2\/core&quot;; import {FORM_DIRECTIVES} from &quot;angular2\/common&quot;; import {FORM_PROVIDERS} from &quot;angular2\/common&quot;; import {ControlGroup} from &quot;angular2\/common&quot;; import {FormBuilder} from &quot;angular2\/common&quot;; import {Validators} from &quot;angular2\/common&quot;; import {MainCategory} from &quot;.\/main-category&quot;; import {HTTP_PROVIDERS} from &quot;angular2\/http&quot;;  @Component({     selector: 'backend-create-main-category',     templateUrl: 'app\/dashboard\/catalog\/main-category\/main-category.create.component.html',     providers: [MainCategoryService, FORM_PROVIDERS, HTTP_PROVIDERS],     directives: [FORM_DIRECTIVES] })  export class BackendCreateMainCategory implements OnInit {     \/\/\u0441\u043e\u043e\u0431\u0449\u0430\u0435\u043c \u0447\u0442\u043e \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0433\u0440\u0443\u043f\u043f\u0430 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u0432 \u0432 \u043d\u0430\u0448\u0435\u0439 \u0444\u043e\u0440\u043c\u0435 \u0438 \u043e\u043d\u0430 \u043e\u0434\u043d\u0430 :)      createMainCategoryForm: ControlGroup;     mainCategories:MainCategory[];     errorMessage: string;      constructor( private _formBuilder: FormBuilder, private _mainCategoryService: MainCategoryService) {}        \/\/\u0442\u043e \u043e \u0447\u0435\u043c \u044f \u043f\u0438\u0441\u0430\u043b\u0430 - \u043d\u0430\u0448\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0432\u044b\u043d\u0435\u0441\u0435\u043d\u044b \u0438\u0437 \u0448\u0430\u0431\u043b\u043e\u043d\u0430       ngOnInit() {         this.createMainCategoryForm = this._formBuilder.group({             'name': ['', Validators.required],             'slug': ['', Validators.required],             'show': [false]         });     }       \/\/\u043f\u0440\u0438 \u0441\u0430\u0431\u043c\u0438\u0442\u0435 \u0444\u043e\u0440\u043c\u044b \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440      onSubmit() {         var name = this.createMainCategoryForm.value.name;         var slug = this.createMainCategoryForm.value.slug;         var show = this.createMainCategoryForm.value.show;         this._mainCategoryService.createAdminMainCategory(name, slug, show).subscribe(           main_category =&gt; this.mainCategories.push(main_category),             error =&gt; this.errorMessage = &lt;any&gt;error         );      }<\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u043e\u043b\u043d\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0448\u0430\u0431\u043b\u043e\u043d\u0430 main-category.create.template.html<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"html\">&lt;h1&gt;\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044e \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430&lt;\/h1&gt;  &lt;form [ngFormModel]=&quot;createMainCategoryForm&quot; (ngSubmit)=&quot;onSubmit()&quot;&gt;     &lt;div&gt;         &lt;label for=&quot;name&quot;&gt;\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435&lt;\/label&gt;         &lt;input type=&quot;text&quot; id=&quot;name&quot; [ngFormControl]=&quot;createMainCategoryForm.controls['name']&quot;&gt;     &lt;\/div&gt;     &lt;div&gt;         &lt;label for=&quot;slug&quot;&gt;\u0421\u0441\u044b\u043b\u043a\u0430&lt;\/label&gt;         &lt;input type=&quot;text&quot; id=&quot;slug&quot; [ngFormControl]=&quot;createMainCategoryForm.controls['slug']&quot;&gt;     &lt;\/div&gt;     &lt;div&gt;         &lt;label for=&quot;show&quot;&gt;\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u0442\u044c?&lt;\/label&gt;         &lt;input type=&quot;checkbox&quot; id=&quot;show&quot; [ngFormControl]=&quot;createMainCategoryForm.controls['show']&quot;&gt;     &lt;\/div&gt;     &lt;button type=&quot;submit&quot;&gt;\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c&lt;\/button&gt; &lt;\/form&gt;<\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <\/p>\n<blockquote><p>\u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e radiobutton \u043f\u043e\u043a\u0430 \u0448\u0430\u043b\u0438\u0442 \u0432 Angular2 \u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043c\u043e\u0436\u0435\u0442, \u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0441\u043b\u0435 \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043f\u043b\u044f\u0441\u043e\u043a \u0441 \u0431\u0443\u0431\u043d\u043e\u043c, \u0442\u0430\u043a, \u0447\u0442\u043e \u0434\u043b\u044f \u0441\u0432\u043e\u0438\u0445 \u043d\u0443\u0436\u0434 \u044f \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0430\u0441\u044c \u043f\u043e\u043a\u0430 \u043d\u0430 checkbox.<\/p><\/blockquote>\n<p>  \u041e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u0432\u0441\u0435 \u043d\u0443\u0436\u043d\u043e\u0435 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432 \u043d\u0430\u0448 \u043a\u043b\u0430\u0441\u0441 <code>DashboardMainCategoryComponent<\/code>. \u0422\u0435\u043f\u0435\u0440\u044c \u043e\u043d \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u0432\u043e\u0442 \u0442\u0430\u043a: <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u043e\u043b\u043d\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 main-category.root.component.ts<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"javascript\">import {Component} from &quot;angular2\/core&quot;; import {FORM_DIRECTIVES} from &quot;angular2\/common&quot;; import {ControlGroup} from &quot;angular2\/common&quot;; import {Control} from &quot;angular2\/common&quot;; import {FormBuilder} from &quot;angular2\/common&quot;; import {Validators} from &quot;angular2\/common&quot;; import {MainCategoryService} from &quot;.\/main-category.service&quot;; import {HTTP_PROVIDERS} from &quot;angular2\/http&quot;; import {BackendGetMainCategories} from &quot;.\/main-category.get.component&quot;; import {BackendCreateMainCategory} from &quot;.\/main-category.create.component&quot;; @Component({     selector: 'dashboard-main-category',     template:`     &lt;h1&gt;\u041a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438&lt;\/h1&gt;     &lt;backend-get-main-categories&gt;&lt;\/backend-get-main-categories&gt;      &lt;backend-create-main-category&gt;&lt;\/backend-create-main-category&gt;     `,     directives: [         FORM_DIRECTIVES,         BackendGetMainCategories,         BackendCreateMainCategory],     providers: [MainCategoryService, HTTP_PROVIDERS] })  export class DashboardMainCategoryComponent {}<\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  \u041d\u0430 \u044d\u0442\u043e\u043c \u043c\u044b \u0438\u043c\u0435\u0435\u043c \u043f\u0440\u043e\u0441\u0442\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0441 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435\u043c \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u043e\u0439 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440. <\/p>\n<h2>\u0418\u0442\u043e\u0433\u0438<\/h2>\n<p>  \u0415\u0441\u043b\u0438 \u0432\u0437\u044f\u0442\u044c \u0447\u0438\u0441\u0442\u043e\u0435 \u0432\u0440\u0435\u043c\u044f, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0443 \u043c\u0435\u043d\u044f \u0437\u0430\u043d\u044f\u043b\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0442\u043e, \u0447\u0442\u043e \u044f \u0432\u044b\u043b\u043e\u0436\u0438\u043b\u0430 \u0432\u044b\u0448\u0435 \u0438 \u0437\u0430\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c:<br \/>  <strong>Backend \u2014 1 \u0447\u0430\u0441 17 \u043c\u0438\u043d\u0443\u0442<\/strong>. \u042d\u0442\u043e \u043d\u0435 \u0441\u043e\u0432\u0441\u0435\u043c \u0447\u0438\u0441\u0442\u043e\u0435 \u0432\u0440\u0435\u043c\u044f, \u0430 \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u043e\u0439 PhpStorm, \u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f\u043c\u0438 \u043d\u0430 \u043f\u0435\u0440\u0435\u043a\u0443\u0440\u044b \u0438 \u043e\u0442\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u044f\u043c\u0438 \u043d\u0430 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u043d\u044b\u0435 \u0440\u0430\u0437\u0433\u043e\u0432\u043e\u0440\u044b. \u0414\u043b\u044f \u043c\u0435\u043d\u044f \u044d\u0442\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e, \u0442\u0430\u043a \u043a\u0430\u043a \u0432\u0441\u0435 \u0442\u0430\u043a\u0438 php \u044f \u043d\u0435 \u043f\u0435\u0440\u0432\u044b\u0439 \u0440\u0430\u0437 \u0432\u0438\u0436\u0443.<br \/>  \u0421 <strong>Angular2<\/strong> \u0432\u0441\u0435 \u0441\u043b\u043e\u0436\u043d\u0435\u0435.<br \/>  \u042f \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u043d\u0435 \u043a\u043e\u043f\u0430\u043b\u0430\u0441\u044c \u0432 JS. \u041d\u0435\u0442, \u0441\u043a\u0440\u0438\u043f\u0442\u0438\u043a \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u044f \u043c\u043e\u0433\u043b\u0430 \u043f\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438, \u0430 \u0432\u043e\u0442 \u0434\u0430\u043b\u044c\u0448\u0435 \u2014 \u0434\u043b\u044f \u043c\u0435\u043d\u044f \u044d\u0442\u043e \u0431\u044b\u043b \u0442\u0435\u043c\u043d\u044b\u0439 \u043b\u0435\u0441, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u044f \u043d\u043e\u0441 \u043d\u0435 \u0441\u043e\u0432\u0430\u043b\u0430. \u0412 \u0438\u0442\u043e\u0433\u0435 \u043d\u0430 \u043a\u0443\u0440\u0435\u043d\u0438\u0435 \u0434\u043e\u043a\u043e\u0432 \u043f\u043e Angular2, JavaScript, TypeScript, \u0432\u043d\u0438\u043a\u0430\u043d\u0438\u0435, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0435, \u043f\u0435\u0440\u0435\u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438, \u043f\u0435\u0440\u0435\u0434\u0435\u043b\u043a\u0438 \u0443 \u043c\u0435\u043d\u044f \u0443\u0448\u043b\u043e \u0447\u0438\u0441\u0442\u044b\u0445 <strong>12 \u0447\u0430\u0441\u043e\u0432 48 \u043c\u0438\u043d\u0443\u0442<\/strong>. \u041f\u0435\u0440\u0435\u043a\u0443\u0440\u044b, \u0440\u0430\u0437\u0433\u043e\u0432\u043e\u0440\u044b, \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438-\u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 IDE \u0432 \u044d\u0442\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043d\u0435 \u0443\u0447\u0442\u0435\u043d\u044b.<\/p>\n<p>  \u0418\u0442\u043e\u0433\u043e: IMHO Angular2 \u0432\u0435\u0441\u044c\u043c\u0430 \u043e\u043f\u0430\u0441\u0435\u043d \u0442\u0435\u043c, \u0447\u0442\u043e \u0442\u0443\u0434\u0430 \u043c\u043e\u0433\u0443\u0442 \u0432\u043e\u0442 \u0442\u0430\u043a \u0432\u043e\u0442, \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u043b\u0435\u0437\u0442\u044c \u0442\u0430\u043a\u0438\u0435 \u0431\u043b\u043e\u043d\u0434\u0438\u043d\u043a\u0438 \u043a\u0430\u043a \u044f, \u0438 \u0434\u0430\u0436\u0435 \u043f\u043e\u0442\u0440\u0430\u0442\u0438\u0432 \u043d\u0435 \u0442\u0430\u043a \u043c\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0447\u0442\u043e-\u0442\u043e \u0431\u043e\u043b\u044c\u0448\u0435\u0435, \u0447\u0435\u043c HelloWorld \u0438\u043b\u0438 \u0436\u0435 ToDo-\u0441\u043f\u0438\u0441\u043e\u043a. <\/p>\n<p>  <strong>P.S.<\/strong> \u0422\u0435\u043c\u0430 \u0441\u0442\u0430\u0442\u044c\u0438 \u0440\u043e\u0434\u0438\u043b\u0430\u0441\u044c \u0438\u0437 \u043f\u0440\u043e\u0447\u0442\u0435\u043d\u0438\u044f \u043e\u0434\u043d\u043e\u0433\u043e \u0442\u0432\u0438\u0442\u0430, \u0433\u0434\u0435 \u0437\u0430\u0434\u0430\u0432\u0430\u043b\u0438 \u0432\u043e\u043f\u0440\u043e\u0441 \u2014 \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u044b\u0441\u043e\u043a \u043f\u043e\u0440\u043e\u0433 \u0432\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f \u0432 Angular2. \u041d\u0443 \u0447\u0442\u043e \u0436\u0435, \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u0447\u0442\u043e \u043d\u0435\u0432\u044b\u0441\u043e\u043a. \u0412\u0441\u0435 \u0433\u0443\u0440\u0443 \u043c\u043e\u0433\u0443\u0442 \u0445\u0432\u0430\u0442\u0430\u0442\u044c\u0441\u044f \u0437\u0430 \u0433\u043e\u043b\u043e\u0432\u0443 \u0438 \u043f\u0440\u0435\u0434\u0440\u0435\u043a\u0430\u0442\u044c \u043d\u0430\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0435 \u043a\u0440\u0430\u0445\u0430 \u0438\u0437-\u0437\u0430 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0441\u043a\u043e\u0440\u043e \u043f\u043e\u043b\u0435\u0437\u0443\u0442 \u043d\u0435\u0434\u043e\u0443\u0447\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u043f\u0438\u0441\u0430\u0442\u044c \u043f\u043e\u043b\u043d\u0443\u044e \u0435\u0440\u0443\u043d\u0434\u0443, \u0430 \u0438\u043c \u043f\u043e\u0442\u043e\u043c \u0440\u0430\u0437\u0433\u0440\u0435\u0431\u0430\u0442\u044c \u044d\u0442\u043e.<\/p>\n<p>  <strong>P.P.S.<\/strong> \u0417\u0430 \u043e\u0440\u0444\u043e\u0433\u0440\u0430\u0444\u0438\u044e, \u0433\u0440\u0430\u043c\u043c\u0430\u0442\u0438\u043a\u0443, \u0441\u0442\u0438\u043b\u0438\u0441\u0442\u0438\u043a\u0443, \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0441\u0430\u0440\u043a\u0430\u0441\u0442\u0438\u0447\u043d\u043e\u0441\u0442\u044c \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u043f\u0440\u043e\u0448\u0443 \u043f\u0440\u043e\u0449\u0435\u043d\u0438\u044f, \u0430 \u043f\u0440\u0438 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u0438 \u043d\u0430 \u0447\u0442\u043e-\u0442\u043e \u0438\u0437 \u043f\u0435\u0440\u0432\u044b\u0445 \u0442\u0440\u0435\u0445 \u043f\u0443\u043d\u043a\u0442\u043e\u0432 \u2014 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u044e \u044d\u0442\u043e \ud83d\ude42 <\/p>\n<p>  <strong>\u0412\u0430\u0436\u043d\u043e\u0435:<\/strong> \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u0438\u0432\u043d\u0430\u044f \u043a\u0440\u0438\u0442\u0438\u043a\u0430, \u043f\u043e\u0434\u0441\u043a\u0430\u0437\u043a\u0438, \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u043d\u0430 \u043e\u0448\u0438\u0431\u043a\u0438, \u043d\u0435\u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 \u0432 \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0438 \u0441\u0443\u0442\u0438 \u2014 \u043a\u0440\u0430\u0439\u043d\u0435 \u043f\u0440\u0438\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0442\u0441\u044f. \u042f \u0431\u0443\u0434\u0443 \u0432\u0435\u0441\u044c\u043c\u0430 \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u043d\u0430 \u0435\u0441\u043b\u0438 \u0432\u044b \u043f\u043e\u0442\u0440\u0430\u0442\u0438\u0442\u0435 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0441\u0432\u043e\u0435\u0433\u043e \u0434\u0440\u0430\u0433\u043e\u0446\u0435\u043d\u043d\u043e\u0433\u043e \u043d\u0430 \u043c\u0435\u043d\u044f.<\/p>\n<p>  <strong>\u0418 \u043e\u0433\u0440\u043e\u043c\u043d\u043e\u0435 \u0432\u0430\u043c \u0441\u043f\u0430\u0441\u0438\u0431\u043e, \u0435\u0441\u043b\u0438 \u0434\u043e\u0447\u0438\u0442\u0430\u043b\u0438 \u044d\u0442\u043e\u0442 \u043f\u043e\u0441\u0442! <\/strong>                 <\/p>\n<div class=\"clear\"><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habrahabr.ru\/post\/278523\/\"> https:\/\/habrahabr.ru\/post\/278523\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>       \u0414\u043e\u0431\u0440\u044b\u0439 \u0434\u0435\u043d\u044c, \u0434\u043e\u0440\u043e\u0433\u0438\u0435 \u0445\u0430\u0431\u0440\u0430: \u0436\u0438\u0442\u0435\u043b\u0438, \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0438, \u043f\u0438\u0441\u0430\u0442\u0435\u043b\u0438, \u043d\u0435\u0433\u0430\u0442\u0438\u0432\u043d\u043e-\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0442\u043e\u0440\u044b \ud83d\ude42 <\/p>\n<p>  \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0432\u0432\u043e\u0434\u043d\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0438 \u0447\u0442\u043e\u0431\u044b \u0441\u043d\u044f\u0442\u044c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043e \u0441\u0435\u0431\u0435.<br \/>  \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0422\u0430\u043c\u0430\u0440\u0430. \u041e\u0443\u0436\u0430\u0441, \u044f \u0434\u0435\u0432\u0443\u0448\u043a\u0430! \u041a\u043e\u0433\u043e \u044d\u0442\u043e \u043f\u0443\u0433\u0430\u0435\u0442 \u2014 \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0439\u0442\u0435 \u0441\u0442\u0430\u0442\u044c\u044e \u0438 \u043d\u0435 \u0447\u0438\u0442\u0430\u0439\u0442\u0435.<\/p>\n<p>  \u0414\u043b\u044f \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445: \u0443 \u043c\u0435\u043d\u044f \u0437\u0430 \u043f\u043b\u0435\u0447\u0430\u043c \u043d\u0435\u0437\u0430\u043a\u043e\u043d\u0447\u0435\u043d\u043d\u044b\u0439 \u043b\u0435\u0442 10 \u043d\u0430\u0437\u0430\u0434 \u041c\u0418\u0420\u042d\u0410, \u0444\u0430\u043a\u0443\u043b\u044c\u0442\u0435\u0442 \u043a\u0438\u0431\u0435\u0440\u043d\u0435\u0442\u0438\u043a\u0438. \u041d\u043e \u0432\u0441\u0435 \u044d\u0442\u0438 10 \u043b\u0435\u0442 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 \u0441\u043b\u043e\u0436\u0438\u043b\u0438\u0441\u044c \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0447\u0442\u043e \u043f\u043e \u0431\u043e\u043b\u044c\u0448\u0435\u0439 \u0447\u0430\u0441\u0442\u0438 \u044f \u0437\u0430\u043d\u0438\u043c\u0430\u043b\u0430\u0441\u044c \u0440\u0435\u043a\u043b\u0430\u043c\u043e\u0439 \u0438 \u0432 \u043f\u0435\u0440\u0435\u0440\u044b\u0432\u0430\u0445 \u0441\u043b\u0443\u0447\u0430\u043b\u043e\u0441\u044c \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0432 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0441\u0442\u0430\u0440\u0442\u0430\u043f\u0430\u0445, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0445 \u0441 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u043e\u043c \u0438 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e.<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/0d1\/a85\/ffd\/0d1a85ffdeee40f5b504516a77892bfd.jpg\" alt=\"image\"\/><br \/>  \u0412 \u043e\u0431\u0449\u0435\u043c, \u0435\u0441\u043b\u0438 \u043a\u043e\u0440\u043e\u0442\u043a\u043e, \u0442\u043e \u0447\u0443\u043a\u0447\u0430 \u043d\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442, \u0447\u0443\u043a\u0447\u0430 \u043f\u0440\u043e\u0441\u0442\u043e \u0434\u0443\u0448\u043e\u0439 \u0438 \u0441\u0435\u0440\u0434\u0446\u0435\u043c \u0443\u0432\u0430\u0436\u0430\u0435\u0442 \u0442\u0435\u0445, \u043a\u0442\u043e \u0438\u0437 \u043d\u0435\u043f\u043e\u043d\u044f\u0442\u043d\u044b\u0445 \u0441\u0442\u0440\u043e\u0447\u0435\u043a \u043a\u043e\u0434\u0430 \u0434\u0435\u043b\u0430\u0435\u0442 \u043e\u0444\u0438\u0433\u0435\u043d\u043d\u044b\u0435 \u0432\u0435\u0449\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0445\u043e\u0440\u043e\u0448\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442.  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-275462","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/275462","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=275462"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/275462\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=275462"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=275462"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=275462"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}