{"id":67439,"date":"2016-12-09T18:23:46","date_gmt":"2016-12-09T18:23:46","guid":{"rendered":"http:\/\/webkul.com\/blog\/?p=67439"},"modified":"2024-07-31T13:16:17","modified_gmt":"2024-07-31T13:16:17","slug":"update-ui-dinamically-knockout-js","status":"publish","type":"post","link":"https:\/\/webkul.com\/blog\/update-ui-dinamically-knockout-js\/","title":{"rendered":"Update Ui dynamically using knockout Js in Adobe Commerce (Magento 2)"},"content":{"rendered":"\n<p>Here we learn how to update ui dynamically using Knockout Js in Adobe Commerce (Magento 2)<\/p>\n\n\n\n<p>If you haven&#8217;t learnt how to implement Knockout Js on our custom template please click<br><a href=\"http:\/\/webkul.com\/blog\/use-knockout-js-custom-template-magento2\">How To Use Knockout JS On Custom Template In Adobe Commerce (Magento 2)<\/a><\/p>\n\n\n\n<p>we are going save data using ajax request and updated customer list automatically on our custom template.<\/p>\n\n\n\n<p>1. In our previous blog, i have create <strong>Webkul\/Knockout\/view\/frontend\/web\/template\/knockout-test.html<\/strong> file.<\/p>\n\n\n\n<p>Let&#8217;s open it again and create a simple form.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\">&lt;div class=&quot;customcomponent-wrapper&quot; data-block=&quot;customcomponent&quot;&gt;\n    &lt;div class=&quot;block-content&quot;&gt;\n        &lt;form data-role=&quot;save&quot;\n              data-bind=&quot;submit:save&quot;\n              method=&quot;post&quot;&gt;\n            &lt;div class=&quot;fieldset&quot;\n                      data-bind=&quot;attr: {&#039;data-hasrequired&#039;: $t(&#039;* Required Fields&#039;)}&quot;&gt;\n                &lt;div class=&quot;field field-email required&quot;&gt;\n                    &lt;label class=&quot;label&quot; for=&quot;save-email&quot;&gt;&lt;span data-bind=&quot;i18n: &#039;Email Address&#039;&quot;&gt;&lt;\/span&gt;&lt;\/label&gt;\n                    &lt;div class=&quot;control&quot;&gt;\n                        &lt;input type=&quot;email&quot;\n                               class=&quot;input-text&quot;\n                               id=&quot;save-email&quot;\n                               name=&quot;email&quot;\n                               data-validate=&quot;{required:true}&quot; \/&gt;\n                    &lt;\/div&gt;\n                &lt;\/div&gt;\n                &lt;div class=&quot;field field-name required&quot;&gt;\n                    &lt;label for=&quot;login-name&quot; class=&quot;label&quot;&gt;&lt;span data-bind=&quot;i18n: &#039;Customer Name&#039;&quot;&gt;&lt;\/span&gt;&lt;\/label&gt;\n                    &lt;div class=&quot;control&quot;&gt;\n                        &lt;input type=&quot;text&quot;\n                               class=&quot;input-text&quot;\n                               id=&quot;login-name&quot;\n                               name=&quot;name&quot;\n                               data-validate=&quot;{required:true}&quot;\n                               autocomplete=&quot;off&quot;\/&gt;\n                    &lt;\/div&gt;\n                &lt;\/div&gt;\n            &lt;\/div&gt;\n            &lt;div class=&quot;actions-toolbar&quot;&gt;\n                &lt;input name=&quot;context&quot; type=&quot;hidden&quot; value=&quot;checkout&quot; \/&gt;\n                &lt;div class=&quot;primary&quot;&gt;\n                    &lt;button type=&quot;submit&quot; class=&quot;action action-save secondary&quot;&gt;&lt;span data-bind=&quot;i18n: &#039;Save Record&#039;&quot;&gt;&lt;\/span&gt;&lt;\/button&gt;\n                &lt;\/div&gt;\n            &lt;\/div&gt;\n        &lt;\/form&gt;\n    &lt;\/div&gt;\n    &lt;table&gt;\n        &lt;thead&gt;\n            &lt;th data-bind=&quot;i18n: &#039;Customer Name&#039;&quot;&gt;&lt;\/th&gt;\n            &lt;th data-bind=&quot;i18n: &#039;Customer Email&#039;&quot;&gt;&lt;\/th&gt;\n        &lt;\/thead&gt;\n        &lt;tbody data-bind=&quot;foreach: getTotalCustomer()&quot;&gt;\n            &lt;tr&gt;\n                &lt;td data-bind=&quot;text: name&quot;&gt;&lt;\/td&gt;\n                &lt;td data-bind=&quot;text: email&quot;&gt;&lt;\/td&gt;\n            &lt;\/tr&gt;\n        &lt;\/tbody&gt;\n    &lt;\/table&gt;\n&lt;\/div&gt;<\/pre>\n\n\n\n<p>2. We also created <strong>Webkul\/Knockout\/view\/web\/js\/custom-component.js<\/strong> file, open it and update.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\">define(&#091;\n    &#039;jquery&#039;,\n    &#039;uiComponent&#039;,\n    &#039;mage\/validation&#039;,\n    &#039;ko&#039;,\n    &#039;Webkul_Knockout\/js\/action\/save-customer&#039;,\n    ], function ($, Component, validation, ko, saveAction) {\n        &#039;use strict&#039;;\n        var totalCustomer= ko.observableArray(&#091;]);\n        return Component.extend({\n            defaults: {\n                template: &#039;Webkul_Knockout\/knockout-test&#039;\n            },\n\n            initialize: function () {\n                this._super();\n            },\n            save: function (saveForm) {\n                var self = this;\n                var saveData = {},\n                    formDataArray = $(saveForm).serializeArray();\n\n                formDataArray.forEach(function (entry) {\n                    saveData&#091;entry.name] = entry.value;\n                });\n\n                if($(saveForm).validation()\n                    &amp;&amp; $(saveForm).validation(&#039;isValid&#039;)\n                ) {\n                    saveAction(saveData, totalCustomer).always(function() {\n                        console.log(totalCustomer());\n                    });\n                }\n            },\n            getTotalCustomer: function () {\n                return totalCustomer;\n            }\n        });\n    }\n);<\/pre>\n\n\n\n<p>In this file we have defined <strong>&#8216;Webkul_Knockout\/js\/action\/save-customer&#8217;<\/strong> which is responsible for making ajax request to server.<\/p>\n\n\n\n<p>I have created <strong>save<\/strong> function here, which is validating form and sending the form<br>data to <strong>Webkul_Knockout\/js\/action\/save-customer<\/strong> action using saveAction().<\/p>\n\n\n\n<p>3. Now lets create this action js file.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\">\/*global define,alert*\/\ndefine(\n    &#091;\n        &#039;ko&#039;,\n        &#039;jquery&#039;,\n        &#039;mage\/storage&#039;,\n        &#039;mage\/translate&#039;,\n    ],\n    function (\n        ko,\n        $,\n        storage,\n        $t\n    ) {\n        &#039;use strict&#039;;\n        return function (customerData, totalCustomer) {\n            return storage.post(\n                &#039;knockout\/ajax\/save&#039;,\n                JSON.stringify(customerData),\n                false\n            ).done(\n                function (response) {\n                    if (response) {\n                        totalCustomer(&#091;]);\n                        $.each(response, function (i, v) {\n                            totalCustomer.push(v);\n                        });\n                    }\n                }\n            ).fail(\n                function (response) {\n                }\n            );\n        };\n    }\n);<\/pre>\n\n\n\n<p>In this file we have made a ajax request to server, but what is <strong>storage<\/strong> here.<br>storage is nothing but a another jQuery model which already have defined some ajax request methods itself.<\/p>\n\n\n\n<p>open <strong>pub\/static\/frontend\/Magento\/luma\/en_US\/mage\/storage.js<\/strong> you will find some methods here: <strong>get, post, put,delete<\/strong><\/p>\n\n\n\n<p>When ajax request to server it returns data, and saved in <strong>totalCustomer<\/strong> Observable Array.<\/p>\n\n\n\n<p><strong>totalCustomer<\/strong> is defined in Webkul\/Knockout\/view\/frontend\/web\/js\/custom-component.js file which is passes as param.<\/p>\n\n\n\n<p>Finally, create Controller.<\/p>\n\n\n\n<p>4. Webkul\/Knockout\/Controller\/Ajax\/Save.php<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\">&lt;?php\nnamespace Webkul\\Knockout\\Controller\\Ajax;\n\nuse Magento\\Customer\\Api\\AccountManagementInterface;\nuse Magento\\Framework\\App\\ObjectManager;\nuse Magento\\Framework\\Exception\\LocalizedException;\n\nclass Save extends \\Magento\\Framework\\App\\Action\\Action\n{\n\n    \/**\n     * @var \\Magento\\Framework\\Json\\Helper\\Data $helper\n     *\/\n    protected $helper;\n\n    \/**\n     * @var \\Magento\\Framework\\Controller\\Result\\JsonFactory\n     *\/\n    protected $resultJsonFactory;\n\n    \/**\n     * @var \\Magento\\Framework\\Controller\\Result\\RawFactory\n     *\/\n    protected $resultRawFactory;\n\n\n    \/**\n     * Initialize Login controller\n     *\n     * @param \\Magento\\Framework\\App\\Action\\Context $context\n     * @param \\Magento\\Customer\\Model\\Session $customerSession\n     * @param \\Magento\\Framework\\Json\\Helper\\Data $helper\n     * @param AccountManagementInterface $customerAccountManagement\n     * @param \\Magento\\Framework\\Controller\\Result\\JsonFactory $resultJsonFactory\n     * @param \\Magento\\Framework\\Controller\\Result\\RawFactory $resultRawFactory\n     *\/\n    public function __construct(\n        \\Magento\\Framework\\App\\Action\\Context $context,\n        \\Magento\\Framework\\Json\\Helper\\Data $helper,\n        \\Magento\\Framework\\Controller\\Result\\JsonFactory $resultJsonFactory,\n        \\Magento\\Framework\\Controller\\Result\\RawFactory $resultRawFactory\n    ) {\n        parent::__construct($context);\n        $this-&gt;helper = $helper;\n        $this-&gt;resultJsonFactory = $resultJsonFactory;\n        $this-&gt;resultRawFactory = $resultRawFactory;\n    }\n    public function execute()\n    {\n        $model = $this-&gt;_objectManager-&gt;create(&#039;Webkul\\Knockout\\Model\\CustomerData&#039;);\n        $credentials = $this-&gt;helper-&gt;jsonDecode($this-&gt;getRequest()-&gt;getContent());\n        $model-&gt;setData($credentials)-&gt;save();\n        \n        $collection = $model-&gt;getCollection();\n        foreach ($collection as $data) {\n           $response&#091;] = &#091;&#039;name&#039; =&gt; $data-&gt;getName(), &#039;email&#039; =&gt; $data-&gt;getEmail()];\n        }\n        \/** @var \\Magento\\Framework\\Controller\\Result\\Json $resultJson *\/\n        $resultJson = $this-&gt;resultJsonFactory-&gt;create();\n        return $resultJson-&gt;setData($response);\n    }\n}<\/pre>\n\n\n\n<p>We can see that i have created simple controller which is only saving data, and collecting all from the database table that is showing below:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"735\" height=\"349\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/01\/image-92.png\" alt=\"image-92\" class=\"wp-image-364627\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/01\/image-92.png 735w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/01\/image-92-300x142.png 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/01\/image-92-250x119.png 250w\" sizes=\"(max-width: 735px) 100vw, 735px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<p>When this response comes on action js file <strong>save-customer.js<\/strong> its assign the whole data to <strong>totalCustomer<\/strong> observableArray.<\/p>\n\n\n\n<p>Now see in <strong>Webkul\/Knockout\/view\/frontend\/web\/js\/custom-component.js<\/strong> there is method <strong>getTotalCustomer<\/strong><br>which is called in <strong>Webkul\/Knockout\/view\/frontend\/web\/template\/knockout-test.html<\/strong> file.<\/p>\n\n\n\n<p>Now run php\/magento setup:static-content:deploy command.<\/p>\n\n\n\n<p>When you open your custom phtml file, you will see a form.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1206\" height=\"473\" src=\"http:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/12\/Screenshot.png\" alt=\"Knockout Js\" class=\"wp-image-67542\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/12\/Screenshot.png 1206w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/12\/Screenshot-250x98.png 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/12\/Screenshot-300x118.png 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/12\/Screenshot-768x301.png 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/12\/Screenshot-1200x471.png 1200w\" sizes=\"(max-width: 1206px) 100vw, 1206px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<p>For any technical support, please reach out to us at <a href=\"mailto:support@webkul.com\">support@webkul.com<\/a>. Additionally, discover various solutions to upgrade your online store&#8217;s functionality by visiting the <a href=\"https:\/\/store.webkul.com\/Magento-2.html\">Adobe Commerce modules<\/a> page.<\/p>\n\n\n\n<p>If you need expert consultation or wish to develop bespoke features, Hire <a href=\"https:\/\/webkul.com\/hire-magento-developers\/\">Adobe Commerce Developers<\/a> for your project.<\/p>\n\n\n\n<p>Thanks for reading.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Here we learn how to update ui dynamically using Knockout Js in Adobe Commerce (Magento 2) If you haven&#8217;t learnt how to implement Knockout Js on our custom template please clickHow To Use Knockout JS On Custom Template In Adobe Commerce (Magento 2) we are going save data using ajax request and updated customer list <a href=\"https:\/\/webkul.com\/blog\/update-ui-dinamically-knockout-js\/\">[&#8230;]<\/a><\/p>\n","protected":false},"author":4,"featured_media":66844,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[302],"tags":[4129,4130],"class_list":["post-67439","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-magento2","tag-knockout-js-magento-2","tag-update-ui-using-knockout-js"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Update Ui dynamically using knockout Js in Magento 2<\/title>\n<meta name=\"description\" content=\"Here we learn how to update ui dynamically using Knockout Js in Magento 2 in custom phtml. update ui dynamically using Knockout Js\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/webkul.com\/blog\/update-ui-dinamically-knockout-js\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Update Ui dynamically using knockout Js in Magento 2\" \/>\n<meta property=\"og:description\" content=\"Here we learn how to update ui dynamically using Knockout Js in Magento 2 in custom phtml. update ui dynamically using Knockout Js\" \/>\n<meta property=\"og:url\" content=\"https:\/\/webkul.com\/blog\/update-ui-dinamically-knockout-js\/\" \/>\n<meta property=\"og:site_name\" content=\"Webkul Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/webkul\/\" \/>\n<meta property=\"article:published_time\" content=\"2016-12-09T18:23:46+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-07-31T13:16:17+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/12\/Magneto-Code-Snippet.png\" \/>\n\t<meta property=\"og:image:width\" content=\"825\" \/>\n\t<meta property=\"og:image:height\" content=\"260\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Abhishek Singh\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@webkul\" \/>\n<meta name=\"twitter:site\" content=\"@webkul\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Abhishek Singh\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/webkul.com\/blog\/update-ui-dinamically-knockout-js\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/webkul.com\/blog\/update-ui-dinamically-knockout-js\/\"},\"author\":{\"name\":\"Abhishek Singh\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/573e459f54796eb4195511990de4bfd0\"},\"headline\":\"Update Ui dynamically using knockout Js in Adobe Commerce (Magento 2)\",\"datePublished\":\"2016-12-09T18:23:46+00:00\",\"dateModified\":\"2024-07-31T13:16:17+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/webkul.com\/blog\/update-ui-dinamically-knockout-js\/\"},\"wordCount\":396,\"commentCount\":4,\"publisher\":{\"@id\":\"https:\/\/webkul.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/webkul.com\/blog\/update-ui-dinamically-knockout-js\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/12\/Magneto-Code-Snippet.png\",\"keywords\":[\"Knockout Js Magento 2\",\"Update Ui using Knockout Js\"],\"articleSection\":[\"Magento2\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/webkul.com\/blog\/update-ui-dinamically-knockout-js\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/webkul.com\/blog\/update-ui-dinamically-knockout-js\/\",\"url\":\"https:\/\/webkul.com\/blog\/update-ui-dinamically-knockout-js\/\",\"name\":\"Update Ui dynamically using knockout Js in Magento 2\",\"isPartOf\":{\"@id\":\"https:\/\/webkul.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/webkul.com\/blog\/update-ui-dinamically-knockout-js\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/webkul.com\/blog\/update-ui-dinamically-knockout-js\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/12\/Magneto-Code-Snippet.png\",\"datePublished\":\"2016-12-09T18:23:46+00:00\",\"dateModified\":\"2024-07-31T13:16:17+00:00\",\"description\":\"Here we learn how to update ui dynamically using Knockout Js in Magento 2 in custom phtml. update ui dynamically using Knockout Js\",\"breadcrumb\":{\"@id\":\"https:\/\/webkul.com\/blog\/update-ui-dinamically-knockout-js\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/webkul.com\/blog\/update-ui-dinamically-knockout-js\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/update-ui-dinamically-knockout-js\/#primaryimage\",\"url\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/12\/Magneto-Code-Snippet.png\",\"contentUrl\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/12\/Magneto-Code-Snippet.png\",\"width\":825,\"height\":260},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/webkul.com\/blog\/update-ui-dinamically-knockout-js\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/webkul.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Update Ui dynamically using knockout Js in Adobe Commerce (Magento 2)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/webkul.com\/blog\/#website\",\"url\":\"https:\/\/webkul.com\/blog\/\",\"name\":\"Webkul Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/webkul.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/webkul.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/webkul.com\/blog\/#organization\",\"name\":\"WebKul Software Private Limited\",\"url\":\"https:\/\/webkul.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png\",\"contentUrl\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png\",\"width\":380,\"height\":380,\"caption\":\"WebKul Software Private Limited\"},\"image\":{\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/webkul\/\",\"https:\/\/x.com\/webkul\",\"https:\/\/www.instagram.com\/webkul\/\",\"https:\/\/www.linkedin.com\/company\/webkul\",\"https:\/\/www.youtube.com\/user\/webkul\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/573e459f54796eb4195511990de4bfd0\",\"name\":\"Abhishek Singh\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/d4ac7e0e671bf743359d7e3f140c262d1b16d71106f0a1aeaecca327a2805ae4?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/d4ac7e0e671bf743359d7e3f140c262d1b16d71106f0a1aeaecca327a2805ae4?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g\",\"caption\":\"Abhishek Singh\"},\"description\":\"Adobe Commerce certified Magento developer with over 12 years of experience at Webkul. Passionate about scalable Magento 2-based webshops, AI, and multi-channel integrations, Abhishek consistently delivers innovative and efficient e-commerce solutions that propel businesses forward.\",\"sameAs\":[\"http:\/\/webkul.com\"],\"url\":\"https:\/\/webkul.com\/blog\/author\/abhishek\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Update Ui dynamically using knockout Js in Magento 2","description":"Here we learn how to update ui dynamically using Knockout Js in Magento 2 in custom phtml. update ui dynamically using Knockout Js","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/webkul.com\/blog\/update-ui-dinamically-knockout-js\/","og_locale":"en_US","og_type":"article","og_title":"Update Ui dynamically using knockout Js in Magento 2","og_description":"Here we learn how to update ui dynamically using Knockout Js in Magento 2 in custom phtml. update ui dynamically using Knockout Js","og_url":"https:\/\/webkul.com\/blog\/update-ui-dinamically-knockout-js\/","og_site_name":"Webkul Blog","article_publisher":"https:\/\/www.facebook.com\/webkul\/","article_published_time":"2016-12-09T18:23:46+00:00","article_modified_time":"2024-07-31T13:16:17+00:00","og_image":[{"width":825,"height":260,"url":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/12\/Magneto-Code-Snippet.png","type":"image\/png"}],"author":"Abhishek Singh","twitter_card":"summary_large_image","twitter_creator":"@webkul","twitter_site":"@webkul","twitter_misc":{"Written by":"Abhishek Singh","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/webkul.com\/blog\/update-ui-dinamically-knockout-js\/#article","isPartOf":{"@id":"https:\/\/webkul.com\/blog\/update-ui-dinamically-knockout-js\/"},"author":{"name":"Abhishek Singh","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/573e459f54796eb4195511990de4bfd0"},"headline":"Update Ui dynamically using knockout Js in Adobe Commerce (Magento 2)","datePublished":"2016-12-09T18:23:46+00:00","dateModified":"2024-07-31T13:16:17+00:00","mainEntityOfPage":{"@id":"https:\/\/webkul.com\/blog\/update-ui-dinamically-knockout-js\/"},"wordCount":396,"commentCount":4,"publisher":{"@id":"https:\/\/webkul.com\/blog\/#organization"},"image":{"@id":"https:\/\/webkul.com\/blog\/update-ui-dinamically-knockout-js\/#primaryimage"},"thumbnailUrl":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/12\/Magneto-Code-Snippet.png","keywords":["Knockout Js Magento 2","Update Ui using Knockout Js"],"articleSection":["Magento2"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/webkul.com\/blog\/update-ui-dinamically-knockout-js\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/webkul.com\/blog\/update-ui-dinamically-knockout-js\/","url":"https:\/\/webkul.com\/blog\/update-ui-dinamically-knockout-js\/","name":"Update Ui dynamically using knockout Js in Magento 2","isPartOf":{"@id":"https:\/\/webkul.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/webkul.com\/blog\/update-ui-dinamically-knockout-js\/#primaryimage"},"image":{"@id":"https:\/\/webkul.com\/blog\/update-ui-dinamically-knockout-js\/#primaryimage"},"thumbnailUrl":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/12\/Magneto-Code-Snippet.png","datePublished":"2016-12-09T18:23:46+00:00","dateModified":"2024-07-31T13:16:17+00:00","description":"Here we learn how to update ui dynamically using Knockout Js in Magento 2 in custom phtml. update ui dynamically using Knockout Js","breadcrumb":{"@id":"https:\/\/webkul.com\/blog\/update-ui-dinamically-knockout-js\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/webkul.com\/blog\/update-ui-dinamically-knockout-js\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/update-ui-dinamically-knockout-js\/#primaryimage","url":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/12\/Magneto-Code-Snippet.png","contentUrl":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/12\/Magneto-Code-Snippet.png","width":825,"height":260},{"@type":"BreadcrumbList","@id":"https:\/\/webkul.com\/blog\/update-ui-dinamically-knockout-js\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/webkul.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Update Ui dynamically using knockout Js in Adobe Commerce (Magento 2)"}]},{"@type":"WebSite","@id":"https:\/\/webkul.com\/blog\/#website","url":"https:\/\/webkul.com\/blog\/","name":"Webkul Blog","description":"","publisher":{"@id":"https:\/\/webkul.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/webkul.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/webkul.com\/blog\/#organization","name":"WebKul Software Private Limited","url":"https:\/\/webkul.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png","contentUrl":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png","width":380,"height":380,"caption":"WebKul Software Private Limited"},"image":{"@id":"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/webkul\/","https:\/\/x.com\/webkul","https:\/\/www.instagram.com\/webkul\/","https:\/\/www.linkedin.com\/company\/webkul","https:\/\/www.youtube.com\/user\/webkul\/"]},{"@type":"Person","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/573e459f54796eb4195511990de4bfd0","name":"Abhishek Singh","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/d4ac7e0e671bf743359d7e3f140c262d1b16d71106f0a1aeaecca327a2805ae4?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d4ac7e0e671bf743359d7e3f140c262d1b16d71106f0a1aeaecca327a2805ae4?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g","caption":"Abhishek Singh"},"description":"Adobe Commerce certified Magento developer with over 12 years of experience at Webkul. Passionate about scalable Magento 2-based webshops, AI, and multi-channel integrations, Abhishek consistently delivers innovative and efficient e-commerce solutions that propel businesses forward.","sameAs":["http:\/\/webkul.com"],"url":"https:\/\/webkul.com\/blog\/author\/abhishek\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/67439","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/comments?post=67439"}],"version-history":[{"count":6,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/67439\/revisions"}],"predecessor-version":[{"id":455652,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/67439\/revisions\/455652"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/media\/66844"}],"wp:attachment":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/media?parent=67439"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/categories?post=67439"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/tags?post=67439"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}