{"id":11537,"date":"2024-04-05T16:27:05","date_gmt":"2024-04-05T09:57:05","guid":{"rendered":"https:\/\/www.spiceworksmyanmar.com\/blog\/?p=11537"},"modified":"2024-04-05T16:27:05","modified_gmt":"2024-04-05T09:57:05","slug":"how-to-call-vue-component-from-javascript","status":"publish","type":"post","link":"https:\/\/www.spiceworksmyanmar.com\/blog\/how-to-call-vue-component-from-javascript\/","title":{"rendered":"How to call Vue Component from JavaScript ?"},"content":{"rendered":"<p>\u1019\u1004\u103a\u1039\u1002\u101c\u102c\u1015\u102b\u1001\u1004\u103a\u1017\u103b\u104b<br \/>\n\u1000\u103b\u103d\u1014\u103a\u1010\u1031\u102c\u103a\u1000\u1010\u1031\u102c\u1037 SpiceworksMyanmar Co.,Ltd \u1019\u103e\u102c Web Developer \u1021\u1014\u1031\u1014\u1032\u1037 \u1021\u101c\u102f\u1015\u103a\u101c\u102f\u1015\u103a\u1000\u102d\u102f\u1004\u103a\u101c\u103b\u1000\u103a\u101b\u103e\u102d\u101e\u1031\u102c \u100c\u1031\u1038\u1019\u1004\u103a\u1038\u1001\u1031\u102b\u1004\u103a \u1016\u103c\u1005\u103a\u1015\u102b\u1010\u101a\u103a\u104b \u101a\u1014\u1031\u1037 \u1010\u1004\u103a\u1015\u103c\u1015\u1031\u1038\u101e\u103d\u102c\u1038\u1019\u101a\u1037\u103a \u1021\u1000\u103c\u1031\u102c\u1004\u103a\u1038\u1021\u101b\u102c\u1000\u1010\u1031\u102c\u1037 vue component \u1000\u102d\u102f \u1021\u101e\u102f\u1036\u1038\u1015\u103c\u102f\u1015\u103c\u102e\u1038 javascript \u1000\u1014\u1031 \u1018\u101a\u103a\u101c\u102d\u102f \u1001\u1031\u102b\u103a\u101e\u102f\u1036\u1038\u101c\u102d\u102f\u1037 \u101b\u1019\u101c\u1032\u1006\u102d\u102f\u1010\u102c \u1016\u103c\u1005\u103a\u1015\u102b\u1010\u101a\u103a\u104b<br \/>\n\u1021\u1032\u1037\u1012\u102b\u1006\u102d\u102f \u1005\u1010\u1004\u103a\u1015\u103c\u102e\u1038 \u1010\u100a\u103a\u1006\u1031\u102c\u1000\u103a\u1015\u102b\u1019\u101a\u103a\u104b \u1015\u1011\u1019\u1025\u102e\u1038\u1006\u102f\u1036\u1038 Desktop \u1019\u103e\u102c Vue \u1006\u102d\u102f\u1010\u1032\u1037 Folder \u101c\u1031\u1038 \u1006\u1031\u102c\u1000\u103a\u101c\u102d\u102f\u1000\u103a\u1015\u102b\u1019\u101a\u103a\u104b \u1011\u102d\u102f\u1037\u1014\u1031\u102c\u1000\u103a Vue folder \u1000\u102d\u102f VS Code \u1011\u1032 \u1011\u100a\u103a\u1037\u101c\u102d\u102f\u1000\u103a\u1015\u102b\u1019\u101a\u103a\u104b VS Code \u1011\u1032\u1010\u103d\u1004\u103a index.html \u1016\u102d\u102f\u1004\u103a \u1010\u1005\u103a\u1001\u102f\u1006\u1031\u102c\u1000\u103a\u1015\u102b\u1019\u101a\u103a\u104b html -> head -> body Tag \u1019\u103b\u102c\u1038 \u1011\u100a\u1037\u103a\u1015\u102b\u1019\u101a\u103a\u104b \u1011\u102d\u102f\u1037\u1014\u1031\u102c\u1000\u103a head tag \u1011\u1032\u1010\u103d\u1004\u103a \u1021\u1031\u102c\u1000\u103a\u1000 \u1000\u102f\u1012\u103a\u1019\u103b\u102c\u1038 \u1011\u100a\u103a\u1037\u1015\u102b\u1019\u101a\u103a\u104b vue.js \u1016\u102d\u102f\u1004\u103a\u1000\u102d\u102f\u1010\u1031\u102c\u1037 <a href=\"https:\/\/github.com\/Spiceworks-Myanmar\/cdn\/blob\/main\/vue.js\" rel=\"noopener\" target=\"_blank\">Vue.js<\/a> \u1000 \u1000\u102f\u1012\u103a\u1000\u102d\u102f \u101a\u1030\u1015\u103c\u102e\u1038 \u1011\u100a\u103a\u1037\u1015\u102b\u1019\u101a\u103a\u104b<\/p>\n<pre class=\"brush: js; notranslate\" title=\"\"> \r\n    <link href=\"https:\/\/cdn.jsdelivr.net\/npm\/bootstrap@5.0.2\/dist\/css\/bootstrap.min.css\" rel=\"stylesheet\" integrity=\"sha384-EVSTQN3\/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC\" crossorigin=\"anonymous\">\r\n    <script src=\"https:\/\/cdn.jsdelivr.net\/npm\/@popperjs\/core@2.9.2\/dist\/umd\/popper.min.js\" integrity=\"sha384-IQsoLXl5PILFhosVNubq5LC7Qb9DXgDA9i+tQ8Zj3iwWAwPtgFTxbJ8NT4GN1R8p\" crossorigin=\"anonymous\"><\/script>\r\n    <script src=\"https:\/\/cdn.jsdelivr.net\/npm\/bootstrap@5.0.2\/dist\/js\/bootstrap.min.js\" integrity=\"sha384-cVKIPhGWiC2Al4u+LWgxfKTRIcfu0JTxR+EQDz\/bgldoEyl4H0zUF0QKbrJ0EcQF\" crossorigin=\"anonymous\"><\/script>\r\n    <script src=\"https:\/\/code.jquery.com\/jquery-3.7.1.min.js\" integrity=\"sha256-\/JqT3SQfawRcv\/BIHPThkBvs0OEvtFFmqPF\/lYI\/Cxo=\" crossorigin=\"anonymous\"><\/script>\r\n    <script src=\"vue.js\"><\/script>\r\n<\/pre>\n<p>\u1021\u1015\u1031\u102b\u103a\u1000 \u1000\u102f\u1012\u103a\u1000\u102d\u102f \u1011\u100a\u103a\u1037\u1015\u103c\u102e\u1038\u1015\u103c\u102e\u1006\u102d\u102f\u101c\u103b\u103e\u1004\u103a\u1010\u1031\u102c\u1037 Bootstrap CSS \u1014\u1032\u1037 Js \u1000\u102d\u102f CDN \u1014\u1032\u1037 \u1001\u103b\u102d\u1010\u103a\u1006\u1000\u103a\u1015\u103c\u102e\u1038 \u1011\u100a\u103a\u1037\u101c\u102d\u102f\u1000\u103a\u1015\u102b\u1015\u103c\u102e\u104b \u1011\u102d\u102f\u1037\u1021\u1010\u103d\u1000\u103a Bootstrap Dialog \u1010\u103d\u1031\u104a\u200b Bootstrap Components \u1010\u103d\u1031\u1000\u102d\u102f \u101e\u102f\u1036\u1038\u101c\u102d\u102f\u1037 \u101b\u1015\u102b\u1015\u103c\u102e\u104b \u1021\u1032\u1037\u1014\u1031\u102c\u1000\u103a Dialog \u1021\u1010\u103d\u1000\u103a Template Component \u1010\u1005\u103a\u1001\u102f \u1010\u100a\u103a\u1006\u1031\u102c\u1000\u103a\u1015\u102b\u1019\u101a\u103a\u104b<\/p>\n<pre class=\"brush: js; notranslate\" title=\"\"> \r\n    <template id=\"dialogTmpl\">\r\n        <div class=\"modal\" tabindex=\"-1\">\r\n            <div class=\"modal-dialog\">\r\n              <div class=\"modal-content\">\r\n                <div class=\"modal-header\">\r\n                  <h5 class=\"modal-title\">{{ title }}<\/h5>\r\n                  <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"><\/button>\r\n                <\/div>\r\n                <div class=\"modal-body\">\r\n                  <p>{{ message }}<\/p>\r\n                  <p>{{ name }}<\/p>\r\n                <\/div>\r\n                <div class=\"modal-footer\">\r\n                  <button type=\"button\" class=\"btn btn-secondary\" data-bs-dismiss=\"modal\">Close<\/button>\r\n                  <button type=\"button\" class=\"btn btn-primary\" v-if=\"onAccept\" @click=\"accept\">Confirm<\/button>\r\n                <\/div>\r\n              <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/template>\r\n<\/pre>\n<p>ID: dialogTmpl \u1014\u1032\u1037 Bootstrap Dialog \u1010\u1005\u103a\u1001\u102f\u1000\u102d\u102f \u1010\u100a\u103a\u1006\u1031\u102c\u1000\u103a\u101c\u102d\u102f\u1000\u103a\u1015\u103c\u102e\u1038 \u1021\u1011\u1032\u1010\u103d\u1004\u103a Dialog Title, Body, Name \u1019\u103b\u102c\u1038 \u1015\u102b\u101d\u1004\u103a\u1019\u103e\u102c \u1016\u103c\u1005\u103a\u1015\u103c\u102e\u1038 Close Button \u1014\u1032\u1037 Confirm Button \u1014\u103e\u1005\u103a\u1001\u102f \u101b\u103e\u102d\u1015\u102b\u1019\u101a\u103a\u104b title \u1000\u102d\u102f {{ title }} data \u1014\u1032\u1037 bind \u1011\u102c\u1038\u1015\u103c\u102e\u1038 {{ message }}, {{ name }} \u1010\u102d\u102f\u1037\u1000\u102d\u102f\u101c\u100a\u103a\u1038 bind \u1011\u102c\u1038\u1015\u102b\u1019\u101a\u103a\u104b close button \u1021\u1010\u103d\u1000\u103a\u1000\u1010\u1031\u102c\u1037 Bootstrap Modal Dialog \u1019\u103e\u102c\u1015\u102b\u1010\u1032\u1037 <strong>data-bs-dismiss<\/strong> \u1006\u102d\u102f\u1010\u1032\u1037 <strong>prop<\/strong> \u1011\u100a\u1037\u103a\u1011\u102c\u1038\u1010\u1032\u1037\u1021\u1010\u103d\u1000\u103a Bootstrap Js \u1000 \u101e\u1030\u1037\u1018\u102c\u101e\u102c\u101e\u1030 Dialog \u1000\u102d\u102f \u1015\u102d\u1010\u103a\u1015\u1031\u1038\u1019\u103e\u102c \u1016\u103c\u1005\u103a\u1015\u102b\u1010\u101a\u103a\u104b Confirm Button \u1019\u103e\u102c <strong>accept<\/strong> Method \u1014\u1032\u1037 bind \u1011\u102c\u1038\u1015\u102b\u1019\u101a\u103a\u104b \u1021\u1032\u1037\u101c\u102d\u102f \u1011\u100a\u103a\u1037\u1015\u103c\u102e\u1038\u1015\u103c\u102e\u1006\u102d\u102f\u101c\u103b\u103e\u1004\u103a Vue \u1021\u1010\u103d\u1000\u103a \u1021\u1031\u102c\u1000\u103a\u1015\u102b \u1000\u102f\u1012\u103a\u1000\u102d\u102f \u1011\u100a\u1037\u103a\u1015\u102b\u1019\u101a\u103a\u104b<\/p>\n<pre class=\"brush: js; notranslate\" title=\"\"> \r\n    <script>\r\n\r\n        let DialogComponent = Vue.extend({\r\n\r\n            template: '#dialogTmpl',\r\n            data: function(){\r\n                return {\r\n                    dlg: null,\r\n                    name: '',\r\n                    title: '',\r\n                    message: '',\r\n                    onAccept: null,\r\n                }\r\n            },\r\n            methods: {\r\n\r\n                show(name, title, message, onAccept) {\r\n                    this.name = name;\r\n                    this.title = title;\r\n                    this.message = message;\r\n                    this.dlg = new bootstrap.Modal($(this.$el), {});\r\n                    this.onAccept = onAccept;\r\n                    this.dlg.show();\r\n                },\r\n\r\n                hide() {\r\n                    this.dlg.hide();\r\n                },\r\n\r\n                accept() {\r\n                    if(this.onAccept) this.onAccept();\r\n                    this.dlg.hide();\r\n                }\r\n\r\n            }\r\n\r\n        });\r\n\r\n        window.dialog = function (id) {\r\n\r\n            return new Vue({\r\n                el: '#' + id,\r\n                components: {\r\n                    'common-dialog' : DialogComponent\r\n                }\r\n            })\r\n\r\n        }\r\n\r\n    <\/script>\r\n<\/pre>\n<p>\u1000\u102f\u1012\u103a\u1019\u103e\u102c\u1006\u102d\u102f\u101c\u103b\u103e\u1004\u103a DialogComponent \u1014\u102c\u1019\u100a\u103a\u1014\u1032\u1037 Component \u1010\u1005\u103a\u1001\u102f\u1000\u102d\u102f Assign \u101c\u102f\u1015\u103a\u1011\u102c\u1038\u1015\u103c\u102e\u1038 Vue.extend \u1014\u1032\u1037 \u1021\u1015\u1031\u102b\u103a\u1000 \u1011\u100a\u103a\u1037\u1011\u102c\u1038\u1010\u1032\u1037 dialogTmpl \u1006\u102d\u102f\u1010\u1032\u1037 Component \u1000\u102d\u102f \u1021\u101e\u102f\u1036\u1038\u1015\u103c\u102f\u1015\u102b\u1019\u101a\u103a\u104b data \u1019\u103e\u102c \u1021\u1015\u1031\u102b\u103a\u1000 Bootstrap Modal Dialog \u1019\u103e\u102c \u1021\u101e\u102f\u1036\u1038\u1015\u103c\u102f\u1001\u1032\u1037\u1010\u1032\u1037 name, title, message, onAccept (accept function) \u1010\u102d\u102f\u1037\u1000\u102d\u102f \u1011\u100a\u103a\u1037\u1011\u102c\u1038\u1015\u102b\u1019\u101a\u103a\u104b dialog \u1000\u1010\u1031\u102c\u1037 bootstrap DOM \u1000\u102d\u102f assign \u101c\u102f\u1015\u103a\u1016\u102d\u102f\u1037\u1021\u1010\u103d\u1000\u103a \u1000\u103c\u102d\u102f\u1011\u100a\u103a\u1037\u1011\u102c\u1038\u1015\u103c\u102e\u1038 null \u1015\u1032 \u1011\u100a\u103a\u1037\u1011\u102c\u1038\u1015\u102b\u1019\u101a\u103a\u104b \u1021\u1032\u1037\u1014\u1031\u102c\u1000\u103a Methods \u1010\u103d\u1031\u1011\u1032\u1019\u103e\u102c show, hide, accept \u1006\u102d\u102f\u1015\u103c\u102e\u1038 \u101e\u102f\u1036\u1038\u1001\u102f \u1011\u100a\u1037\u103a\u1011\u102c\u1038\u1015\u102b\u1019\u101a\u103a\u104b show \u1019\u103e\u102c name, title, message \u1014\u1032\u1037 onAccept \u1006\u102d\u102f\u1010\u1032\u1037 CallBack Function \u1010\u1005\u103a\u1001\u102f \u1011\u100a\u103a\u1037\u1015\u102b\u1019\u101a\u103a\u104b onAccept \u1000\u1010\u1031\u102c\u1037 Dialog \u1000 Confirm Button \u1000\u102d\u102f \u1014\u103e\u102d\u1015\u103a\u101c\u103b\u103e\u1004\u103a \u101c\u102f\u1015\u103a\u1006\u1031\u102c\u1004\u103a\u1019\u101a\u103a\u1037 Function \u1021\u1010\u103d\u1000\u103a \u1016\u103c\u1005\u103a\u1015\u102b\u1019\u101a\u103a\u104b \u1021\u1032\u1037\u1014\u1031\u102c\u1000\u103a show method \u1011\u1032\u1019\u103e\u102c \u101e\u1000\u103a\u1006\u102d\u102f\u1004\u103a\u101b\u102c data \u1010\u103d\u1031\u1014\u1032\u1037 assign \u101c\u102f\u1015\u103a\u1015\u102b\u1019\u101a\u103a\u104b show method \u101b\u1032\u1037 \u1014\u1031\u102c\u1000\u103a\u1006\u102f\u1036\u1038 this.dlg.show(); \u1000\u1010\u1031\u102c\u1037 Bootstrap Dialog \u101b\u1032\u1037 dialog show \u101b\u1032\u1037 Function \u1000\u102d\u102f \u1001\u1031\u102b\u103a\u101c\u102d\u102f\u1000\u103a\u1010\u102c \u1016\u103c\u1005\u103a\u1015\u102b\u1010\u101a\u103a\u104b \u1021\u1032\u1037\u1021\u1010\u103d\u1000\u103a Bootstrap Modal Dialog \u1015\u1031\u102b\u103a\u101c\u102c\u1015\u102b\u1019\u101a\u103a\u104b<\/p>\n<p>\u1006\u1000\u103a\u101c\u1000\u103a\u1015\u103c\u102e\u1038 \u1000\u102f\u1012\u103a\u1000\u102d\u102f \u1006\u1000\u103a\u1000\u103c\u100a\u103a\u1037\u1019\u101a\u103a\u1006\u102d\u102f\u101c\u103b\u103e\u1004\u103a hide Method \u1000\u102d\u102f \u1011\u100a\u103a\u1037\u1011\u102c\u1038\u1015\u102b\u1010\u101a\u103a\u104b hide \u1000\u1010\u1031\u102c\u1037 show Method \u1019\u103e\u102c Assign \u101c\u102f\u1015\u103a\u1011\u102c\u1038\u1010\u1032\u1037 data \u1011\u1032\u1000 dlg \u1000\u102d\u102f Bootstrap Modal Dialog Function \u1016\u103c\u1005\u103a\u1010\u1032\u1037 hide \u1000\u102d\u102f \u1001\u1031\u102b\u103a\u1011\u102c\u1038\u1010\u1032\u1037\u1021\u1010\u103d\u1000\u103a dialog \u1000\u102d\u102f \u1015\u102d\u1010\u103a\u1015\u102b\u1019\u101a\u103a\u104b accept Method \u1000\u1010\u1031\u102c\u1037 Confirm Button \u1000\u102d\u102f \u1014\u103e\u102d\u1015\u103a\u101c\u103b\u103e\u1004\u103a data \u101b\u1032\u1037 onAccept \u1000  null \u1019\u1016\u103c\u1005\u103a\u101c\u103b\u103e\u1004\u103a \u1001\u1031\u102b\u103a\u1015\u1031\u1038\u1015\u102b\u101c\u102d\u102f\u1037 if condition \u1014\u1032\u1037 \u1011\u100a\u103a\u1037\u1011\u102c\u1038\u1015\u103c\u102e\u1038 \u1021\u1032\u1037\u1014\u1031\u102c\u1000\u103a this.dlg.hide() \u1014\u1032\u1037 Dialog \u1000\u102d\u102f \u1015\u103c\u1014\u103a\u1015\u102d\u1010\u103a\u101c\u102d\u102f\u1000\u103a\u1015\u102b\u1019\u101a\u103a\u104b<\/p>\n<p>\u1014\u1031\u102c\u1000\u103a\u1006\u102f\u1036\u1038\u1021\u1015\u102d\u102f\u1004\u103a\u1038\u1000\u1010\u1031\u102c\u1037 window.dialog \u1006\u102d\u102f\u1015\u103c\u102e\u1038 window \u1000\u102d\u102f \u101e\u103d\u102c\u1038 bind \u1015\u103c\u102e\u1038 \u1019\u100a\u103a\u101e\u100a\u103a\u1037\u1014\u1031\u101b\u102c\u1000\u1014\u1031 \u1019\u1006\u102d\u102f \u1001\u1031\u102b\u103a\u101c\u102d\u102f\u1037 \u101b\u1021\u1031\u102c\u1004\u103a \u101c\u102f\u1015\u103a\u1015\u102b\u1019\u101a\u103a\u104b new vue \u1014\u1032\u1037 vue application \u1010\u1005\u103a\u1001\u102f \u1010\u100a\u103a\u1006\u1031\u102c\u1000\u103a\u1015\u103c\u102e\u1038 component \u1014\u1032\u1037 \u1021\u1015\u1031\u102b\u103a\u1000 DialogComponent \u1000\u102d\u102f \u1001\u1031\u102b\u103a\u101c\u102d\u102f\u1000\u103a\u1015\u102b\u1019\u101a\u103a\u104b \u1021\u1001\u102f\u1006\u102d\u102f Dialog \u1021\u1010\u103d\u1000\u103a Vue Component \u1010\u1005\u103a\u1001\u102f \u1010\u100a\u103a\u1006\u1031\u102c\u1000\u103a\u1015\u103c\u102e\u1038 window \u1014\u1032\u1037 bind \u1011\u102c\u1038\u1010\u1032\u1037\u1021\u1010\u103d\u1000\u103a \u1019\u102d\u1019\u102d \u1000\u103c\u102d\u102f\u1000\u103a\u101e\u100a\u103a\u1037\u1014\u1031\u101b\u102c\u1019\u103e\u102c \u1001\u1031\u102b\u103a\u1015\u103c\u102e\u1038 \u1021\u101e\u102f\u1036\u1038\u1015\u103c\u102f\u1014\u102d\u102f\u1004\u103a\u1019\u100a\u103a \u1016\u103c\u1005\u103a\u1015\u102b\u1010\u101a\u103a\u104b \u1021\u1032\u1037\u1012\u102b\u1006\u102d\u102f \u1021\u1031\u102c\u1000\u103a\u1000 \u1000\u102f\u1012\u103a\u1000\u102d\u102f \u1011\u100a\u103a\u1037\u1015\u103c\u102e\u1038 HTML UI \u1021\u1010\u103d\u1000\u103a \u1010\u100a\u103a\u1006\u1031\u102c\u1000\u103a\u1015\u102b\u1019\u101a\u103a\u104b<\/p>\n<pre class=\"brush: html; notranslate\" title=\"\"> \r\n<div id=\"app\" @vue:mounted=\"init\">\r\n\r\n        <div id=\"dialogID\">\r\n            <common-dialog ref=\"dialog\"><\/common-dialog>\r\n        <\/div>\r\n\r\n        <div class=\"sticky-top p-3 text-end border bg-white\">\r\n            <h5>{{ carts.length }} products in Cart.<\/h5>\r\n        <\/div>\r\n\r\n        <ul class=\"list-unstyled\">\r\n            <li v-for=\"product in products\">\r\n                <h4>{{ product.title }}<\/h4>\r\n                <p>{{ product.description }}<\/p>\r\n                <button class=\"btn btn-primary\" v-if=\"!carts.includes(product)\" @click=\"addToCart(product)\">Add to Cart<\/button>\r\n                <button class=\"btn btn-primary\" v-if=\"carts.includes(product)\" @click=\"removeFromCart(product)\">Remove from Cart<\/button>\r\n                <button class=\"btn btn-danger\" @click=\"remove(product)\">Remove<\/button>\r\n            <\/li>\r\n        <\/ul>\r\n\r\n    <\/div>\r\n<\/pre>\n<p>\u1000\u102f\u1012\u103a\u1000\u102d\u102f \u1000\u103c\u100a\u103a\u1037\u1019\u101a\u103a\u1006\u102d\u102f\u101c\u103b\u103e\u1004\u103a @vue:mounted=&#8221;init&#8221; \u1000\u102d\u102f \u1021\u1010\u103d\u1000\u103a vue \u1000\u102d\u102f mounted \u101c\u102f\u1015\u103a\u101c\u102d\u102f\u1000\u103a\u1010\u102c\u1014\u1032\u1037 init method \u1000\u102d\u102f \u1001\u1031\u102b\u103a\u1015\u102b\u1019\u101a\u103a\u104b init Function \u1000\u1010\u1031\u102c\u1037 \u1021\u1031\u102c\u1000\u103a\u1000 js \u1000\u102f\u1012\u103a\u1011\u1032\u1000 async init \u1000\u102d\u102f \u1001\u1031\u102b\u103a\u1019\u103e\u102c \u1016\u103c\u1005\u103a\u1015\u102b\u1010\u101a\u103a\u104b &lt;common-dialog ref=&#8221;dialog&#8221;&gt;&lt;\/common-dialog&gt; \u1000\u1010\u1031\u102c\u1037 \u1021\u1015\u1031\u102b\u103a\u1000 JavaScript \u1000\u102f\u1012\u103a\u1019\u103e\u102c \u1000\u103c\u1031\u100a\u102c\u1011\u102c\u1038\u1010\u1032\u1037 window.dialog \u1000 components \u1011\u1032\u1000 common-dialog \u1001\u1031\u102b\u103a\u1016\u102d\u102f\u1037 \u1021\u1010\u103d\u1000\u103a\u1016\u103c\u1005\u103a\u1015\u102b\u1010\u101a\u103a\u104b \u1021\u1031\u102c\u1000\u103a\u1000 js \u1019\u103e\u102c \u1006\u102d\u102f\u101c\u103b\u103e\u1004\u103a data \u1010\u103d\u1031\u1019\u103e\u102c dialog, products \u1014\u1032\u1037 carts \u1006\u102d\u102f\u1015\u103c\u102e\u1038 \u1011\u100a\u103a\u1037\u1011\u102c\u1038\u1015\u102b\u1019\u101a\u103a\u104b dialog \u1000\u1010\u1031\u102c\u1037 confirm, alert dialog \u1010\u103d\u1031\u1021\u1010\u103d\u1000\u103a \u1016\u103c\u1005\u103a\u1015\u103c\u102e\u1038 product \u1010\u103d\u1031\u1014\u1032\u1037 product \u1010\u103d\u1031\u1000\u102d\u102f cart \u1011\u1032\u1011\u100a\u103a\u1037\u1016\u102d\u102f\u1037 carts \u1006\u102d\u102f\u1015\u103c\u102e\u1038 \u101b\u103e\u102d\u1015\u102b\u1019\u101a\u103a\u104b init Method \u1019\u103e\u102c this.products \u1000\u102d\u102f \u1014\u103e\u1005\u103a\u1001\u102f \u1011\u100a\u103a\u1037\u1011\u102c\u1038\u1015\u102b\u1019\u101a\u103a\u104b \u1021\u1015\u1031\u102b\u103a\u1000 HTML \u1000\u102f\u1012\u103a\u1019\u103e\u102c\u1006\u102d\u102f\u101c\u103b\u103e\u1004\u103a \u1001\u101c\u102f\u1010\u103a \u101e\u102f\u1036\u1038\u1001\u102f \u101b\u103e\u102d\u1019\u103e\u102c \u1016\u103c\u1005\u103a\u1015\u103c\u102e\u1038 addToCart ( carts \u1014\u1032\u1037 \u1019\u1015\u102b\u1018\u1030\u1038 \u1006\u102d\u102f\u101c\u103b\u103e\u1004\u103a \u1015\u103c\u1015\u102b\u1019\u101a\u103a ), removeFromCart ( carts \u1011\u1032 \u1015\u102b\u1019\u101a\u103a\u1006\u102d\u102f\u101c\u103b\u103e\u1004\u103a \u1015\u103c\u1015\u102b\u1019\u101a\u103a ) \u1014\u1032\u1037 product \u1000\u102d\u102f \u1015\u103c\u1014\u103a\u1016\u103c\u102f\u1010\u103a\u1016\u102d\u102f\u1037\u1021\u1010\u103d\u1000\u103a remove Method \u1000\u102d\u102f \u1001\u1031\u102b\u103a\u1011\u102c\u1038\u1015\u102b\u1019\u101a\u103a\u104b \u1021\u1001\u102f\u1006\u1000\u103a\u101c\u1000\u103a\u1015\u103c\u102e\u1038 \u1021\u1031\u102c\u1000\u103a\u1000 js \u1000\u102d\u102f \u101b\u103e\u1004\u103a\u1038\u1015\u103c\u1015\u1031\u1038\u101e\u103d\u102c\u1038\u1015\u102b\u1019\u101a\u103a\u104b<\/p>\n<pre class=\"brush: js; notranslate\" title=\"\"> \r\n    <script type=\"module\">\r\n\r\n        import { createApp } from 'https:\/\/unpkg.com\/petite-vue?module'\r\n\r\n        createApp({\r\n\r\n            dialog: null,\r\n            products: [],\r\n            carts: [],\r\n\r\n            async init(){\r\n                \r\n                let that = this;\r\n                this.dialog = window.dialog('dialogID').$children[0];\r\n\r\n                this.products = [\r\n                        {\r\n                            id: 1,\r\n                            title: \"iPhone 9\",\r\n                            description: \"An apple mobile which is nothing like apple\",\r\n                            price: 549,\r\n                            discountPercentage: 12.96,\r\n                            rating: 4.69,\r\n                            stock: 94,\r\n                            brand: \"Apple\",\r\n                            category: \"smartphones\",\r\n                            thumbnail: \"https:\/\/cdn.dummyjson.com\/product-images\/1\/thumbnail.jpg\",\r\n                            images: [\r\n                                \"https:\/\/cdn.dummyjson.com\/product-images\/1\/1.jpg\",\r\n                                \"https:\/\/cdn.dummyjson.com\/product-images\/1\/2.jpg\",\r\n                                \"https:\/\/cdn.dummyjson.com\/product-images\/1\/3.jpg\",\r\n                                \"https:\/\/cdn.dummyjson.com\/product-images\/1\/4.jpg\",\r\n                                \"https:\/\/cdn.dummyjson.com\/product-images\/1\/thumbnail.jpg\"\r\n                            ]\r\n                        },\r\n                        {\r\n                            id: 2,\r\n                            title: \"iPhone X\",\r\n                            description: \"SIM-Free, Model A19211 6.5-inch Super Retina HD display with OLED technology A12 Bionic chip with ...\",\r\n                            price: 899,\r\n                            discountPercentage: 17.94,\r\n                            rating: 4.44,\r\n                            stock: 34,\r\n                            brand: \"Apple\",\r\n                            category: \"smartphones\",\r\n                            thumbnail: \"https:\/\/cdn.dummyjson.com\/product-images\/2\/thumbnail.jpg\",\r\n                            images: [\r\n                                \"https:\/\/cdn.dummyjson.com\/product-images\/2\/1.jpg\",\r\n                                \"https:\/\/cdn.dummyjson.com\/product-images\/2\/2.jpg\",\r\n                                \"https:\/\/cdn.dummyjson.com\/product-images\/2\/3.jpg\",\r\n                                \"https:\/\/cdn.dummyjson.com\/product-images\/2\/thumbnail.jpg\"\r\n                            ]\r\n                        },\r\n                    ];\r\n\r\n            },\r\n\r\n            addToCart(product) {\r\n\r\n                this.carts.push(product)\r\n                this.dialog.show(product.title, 'Added to Cart', 'The following item has been added to Cart.')\r\n\r\n            },\r\n\r\n            removeFromCart(product) {\r\n\r\n                let index = this.carts.indexOf(product);\r\n                if(index > -1) {\r\n                    this.carts.splice(index, 1)\r\n                    this.dialog.show(product.title, 'Removed to Cart', 'The following item has been removed from Cart.')\r\n                }\r\n\r\n            },\r\n\r\n            remove(product) {\r\n\r\n                this.dialog.show(product.title, 'Confirmation', 'Are you sure to remove ?', () => {\r\n                    let index = this.products.indexOf(product)\r\n                    if ( index > -1) {\r\n                        this.products.splice(index, 1)\r\n                    }\r\n                })\r\n\r\n            }\r\n\r\n        }).mount('#app')\r\n\r\n    <\/script>\r\n<\/pre>\n<p>\u1021\u1015\u1031\u102b\u103a\u1000 js \u1000\u102f\u1012\u103a\u1000\u102d\u102f \u1000\u103c\u100a\u103a\u1037\u1019\u101a\u103a\u1006\u102d\u102f\u101c\u103b\u103e\u1004\u103a init \u1019\u103e\u102c this.dialog \u1000\u102d\u102f \u1021\u1011\u1000\u103a\u1015\u102b \u1000\u103c\u1031\u100a\u102c\u1011\u102c\u1038\u1010\u1032\u1037 window.dialog \u1011\u1032\u1000 HTML \u1000\u102f\u1012\u103a\u1011\u1032\u1019\u103e\u102c \u1011\u100a\u103a\u1037\u1011\u102c\u1038\u1010\u1032\u1037 dialogID \u1000\u102d\u102f Bootstrap Dialog \u1021\u1014\u1031\u1014\u1032\u1037 \u1021\u101e\u102f\u1036\u1038\u1015\u103c\u102f\u1015\u102b\u1019\u101a\u103a\u104b \u1011\u102d\u102f\u1037\u1014\u1031\u102c\u1000\u103a products \u1011\u1032\u1019\u103e\u102c \u1014\u103e\u1005\u103a\u1001\u102f \u1011\u100a\u103a\u1037\u1015\u102b\u1019\u101a\u103a\u104b addToCart Method \u1010\u1005\u103a\u1001\u102f \u1011\u100a\u103a\u1037\u1015\u103c\u102e\u1038 this.carts \u1011\u1032\u1000\u102d\u102f product \u1000\u102d\u102f \u1011\u100a\u103a\u1037\u1015\u102b\u1019\u101a\u103a\u104b \u1015\u103c\u102e\u1038\u101c\u103b\u103e\u1004\u103a this.dialog.show \u1006\u102d\u102f\u1015\u103c\u102e\u1038 \u1011\u100a\u103a\u1037\u101c\u102d\u102f\u1000\u103a\u1010\u102c \u1021\u1031\u102c\u1004\u103a\u1019\u103c\u1004\u103a\u1000\u103c\u1031\u102c\u1004\u103a\u1038 alert dialog \u1015\u103c\u1015\u102b\u1019\u101a\u103a\u104b \u1021\u1032\u1037\u1019\u103e\u102c \u1000\u103c\u100a\u103a\u1037\u1019\u101a\u103a\u1006\u102d\u102f\u101c\u103b\u103e\u1004\u103a onAccept \u1021\u1010\u103d\u1000\u103a parameter \u1019\u1011\u100a\u103a\u1037\u1011\u102c\u1038\u1010\u1032\u1037\u1021\u1010\u103d\u1000\u103a Dialog \u1019\u103e\u102c Confirm \u1001\u101c\u102f\u1010\u103a \u1015\u103b\u1031\u102c\u1000\u103a\u1014\u1031\u1015\u102b\u1019\u101a\u103a\u104b \u1006\u1000\u103a\u101c\u1000\u103a\u1015\u103c\u102e\u1038 removeFromCart \u1021\u1010\u103d\u1000\u103a Method \u1010\u1005\u103a\u1001\u102f \u1010\u100a\u103a\u1006\u1031\u102c\u1000\u103a\u1015\u103c\u102e\u1038 \u1019\u102d\u1019\u102d Cart \u1011\u1032\u1000 \u1016\u103c\u102f\u1010\u103a\u1019\u100a\u103a\u1037 Product \u1000\u102d\u102f indexOf \u1014\u1032\u1037 index number \u1000\u102d\u102f \u101b\u103e\u102c\u1015\u103c\u102e\u1038 \u101b\u103e\u102d\u1010\u101a\u103a\u1006\u102d\u102f splice \u1014\u1032\u1037 cart \u1006\u102d\u102f\u1010\u1032\u1037 array \u1000\u1014\u1031 \u1016\u103c\u102f\u1010\u103a\u101c\u102d\u102f\u1000\u103a\u1015\u102b\u1019\u101a\u103a\u104b \u1015\u103c\u102e\u1038\u101c\u103b\u103e\u1004\u103a \u1016\u103c\u102f\u1010\u103a\u101c\u102d\u102f\u1000\u103a\u1015\u103c\u102e \u1016\u103c\u1005\u103a\u1000\u103c\u1031\u102c\u1004\u103a\u1038 alert dialog \u1000\u102d\u102f \u1015\u103c\u1015\u102b\u1019\u101a\u103a\u104b \u1021\u1032\u1037\u1014\u1031\u102c\u1000\u103a Product remove \u1021\u1010\u103d\u1000\u103a remove \u1006\u102d\u102f\u1010\u1032\u1037 Method \u1010\u1005\u103a\u1001\u102f \u1011\u100a\u103a\u1037\u1015\u102b\u1019\u101a\u103a\u104b \u1021\u1032\u1037\u1019\u103e\u102c Confirm Dialog \u1000\u102d\u102f \u1015\u103c\u1019\u103e\u102c \u1016\u103c\u1005\u103a\u1015\u103c\u102e\u1038 product \u1000\u102d\u102f indexOf \u1014\u1032\u1037 \u101b\u103e\u102c\u1015\u103c\u102e\u1038 this.products \u1006\u102d\u102f\u1010\u1032\u1037 products array \u1011\u1032\u1000\u1014\u1031 splice \u1014\u1032\u1037 \u1016\u103c\u102f\u1010\u103a\u101c\u102d\u102f\u1000\u103a\u1015\u102b\u1019\u101a\u103a\u104b \u1021\u1001\u102f\u1006\u102d\u102f\u101c\u103b\u103e\u1004\u103a Product, Cart \u1014\u1032\u1037 \u1025\u1015\u1019\u102c\u1015\u103c\u1015\u103c\u102e\u1038 Vue Component \u1000\u102d\u102f Common Dialog \u1015\u102f\u1036\u1005\u1036 \u1021\u101e\u102f\u1036\u1038\u1015\u103c\u102f\u1015\u103c\u102e\u1038 \u1010\u1004\u103a\u1015\u103c\u101e\u103d\u102c\u1038\u1001\u103c\u1004\u103a\u1038 \u1016\u103c\u1005\u103a\u1015\u102b\u1010\u101a\u103a\u104b \u1021\u1001\u102f \u1010\u1004\u103a\u1015\u103c\u101e\u103d\u102c\u1038\u1010\u1032\u1037 vue \u101e\u100a\u103a Vue3 \u1019\u101f\u102f\u1010\u103a\u1015\u1032 Vue2.7 \u1000\u102d\u102f \u1021\u101e\u102f\u1036\u1038\u1015\u103c\u102f\u1011\u102c\u1038\u1001\u103c\u1004\u103a\u1038\u1016\u103c\u1005\u103a\u1015\u102b\u1010\u101a\u103a\u104b \u1000\u102f\u1012\u103a\u1021\u1015\u103c\u100a\u103a\u1037\u1021\u1005\u102f\u1036\u1000\u102d\u102f \u1021\u1031\u102c\u1000\u103a\u1000 GitHub \u1010\u103d\u1004\u103a Download \u1006\u103d\u1032\u104d \u101c\u1031\u1037\u101c\u102c\u1014\u102d\u102f\u1004\u103a\u1015\u102b\u1010\u101a\u103a \u1001\u1004\u103a\u1017\u103b\u104b<br \/>\n<a href=\"https:\/\/github.com\/Spiceworks-Myanmar\/cdn\/blob\/main\/Vue.zip\" rel=\"noopener\" target=\"_blank\">https:\/\/github.com\/Spiceworks-Myanmar\/cdn\/blob\/main\/Vue.zip<\/a><\/p>\n<p>\u1021\u1001\u102f\u101c\u102d\u102f \u1021\u1001\u103b\u102d\u1014\u103a\u1015\u1031\u1038 \u1016\u1010\u103a\u101b\u103e\u102f\u1015\u1031\u1038\u1010\u1032\u1037\u1021\u1010\u103d\u1000\u103a \u1000\u103b\u1031\u1038\u1007\u1030\u1038\u1021\u1019\u103b\u102c\u1038\u1000\u103c\u102e\u1038\u1010\u1004\u103a\u1015\u102b\u1010\u101a\u103a\u104b \u1006\u1000\u103a\u101c\u1000\u103a\u104d\u101c\u100a\u103a\u1038 \u1017\u101f\u102f\u101e\u102f\u1010\u101b\u1016\u103d\u101a\u103a \u1015\u102d\u102f\u1037\u1005\u103a\u1019\u103b\u102c\u1038 \u1010\u1004\u103a\u1015\u1031\u1038\u101e\u103d\u102c\u1038\u1025\u102e\u1038\u1019\u103e\u102c \u1016\u103c\u1005\u103a\u1010\u1032\u1037\u1021\u1010\u103d\u1000\u103a \u101c\u102c\u101b\u1031\u102c\u1000\u103a \u1021\u102c\u1038\u1015\u1031\u1038\u1016\u1010\u103a\u101b\u103e\u102f\u1015\u1031\u1038\u1016\u102d\u102f\u1037 \u1010\u102d\u102f\u1000\u103a\u1010\u103d\u1014\u103a\u1038\u101c\u102d\u102f\u1000\u103a\u101b\u1004\u103a\u1038 \u1015\u102d\u102f\u1037\u1005\u103a\u101c\u1031\u1038\u1000\u102d\u102f \u1012\u102e\u1014\u1031\u101b\u102c\u1019\u103e\u102c\u1015\u1032 \u1021\u1006\u102f\u1036\u1038\u101e\u1010\u103a\u101c\u102d\u102f\u1000\u103a\u1015\u102b\u101b\u1005\u1031\u104b \u101e\u102c\u101a\u102c\u1015\u103b\u1031\u102c\u103a\u101b\u103d\u1004\u103a\u101e\u1031\u102c \u1014\u1031\u1037\u101b\u1000\u103a\u101c\u1031\u1038\u1019\u103b\u102c\u1038 \u1015\u102d\u102f\u1004\u103a\u1006\u102d\u102f\u1004\u103a\u1014\u102d\u102f\u1004\u103a\u1000\u103c\u1015\u102b\u1005\u1031\u1001\u1004\u103a\u1017\u103b\u104b<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u1019\u1004\u103a\u1039\u1002\u101c\u102c\u1015\u102b\u1001\u1004\u103a\u1017\u103b\u104b \u1000\u103b\u103d\u1014\u103a\u1010\u1031\u102c\u103a\u1000\u1010\u1031\u102c\u1037 SpiceworksMyanmar Co.,Ltd \u1019\u103e\u102c Web Developer \u1021\u1014\u1031\u1014\u1032\u1037 \u1021\u101c\u102f\u1015\u103a\u101c\u102f\u1015\u103a\u1000\u102d\u102f\u1004\u103a\u101c\u103b\u1000\u103a\u101b\u103e\u102d\u101e\u1031\u102c \u100c\u1031\u1038\u1019\u1004\u103a\u1038\u1001\u1031\u102b\u1004\u103a \u1016\u103c\u1005\u103a\u1015\u102b\u1010\u101a\u103a\u104b \u101a\u1014\u1031\u1037 \u1010\u1004\u103a\u1015\u103c\u1015\u1031\u1038\u101e\u103d\u102c\u1038\u1019\u101a\u1037\u103a \u1021\u1000\u103c\u1031\u102c\u1004\u103a\u1038\u1021\u101b\u102c\u1000\u1010\u1031\u102c\u1037 vue component \u1000\u102d\u102f \u1021\u101e\u102f\u1036\u1038\u1015\u103c\u102f\u1015\u103c\u102e\u1038 javascript \u1000\u1014\u1031<\/p>\n","protected":false},"author":18,"featured_media":11539,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-11537","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-system"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How to call Vue Component from JavaScript ? - Web Development &amp; Tech Blog | Spiceworks Myanmar<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.spiceworksmyanmar.com\/blog\/how-to-call-vue-component-from-javascript\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to call Vue Component from JavaScript ? - Web Development &amp; Tech Blog | Spiceworks Myanmar\" \/>\n<meta property=\"og:description\" content=\"\u1019\u1004\u103a\u1039\u1002\u101c\u102c\u1015\u102b\u1001\u1004\u103a\u1017\u103b\u104b \u1000\u103b\u103d\u1014\u103a\u1010\u1031\u102c\u103a\u1000\u1010\u1031\u102c\u1037 SpiceworksMyanmar Co.,Ltd \u1019\u103e\u102c Web Developer \u1021\u1014\u1031\u1014\u1032\u1037 \u1021\u101c\u102f\u1015\u103a\u101c\u102f\u1015\u103a\u1000\u102d\u102f\u1004\u103a\u101c\u103b\u1000\u103a\u101b\u103e\u102d\u101e\u1031\u102c \u100c\u1031\u1038\u1019\u1004\u103a\u1038\u1001\u1031\u102b\u1004\u103a \u1016\u103c\u1005\u103a\u1015\u102b\u1010\u101a\u103a\u104b \u101a\u1014\u1031\u1037 \u1010\u1004\u103a\u1015\u103c\u1015\u1031\u1038\u101e\u103d\u102c\u1038\u1019\u101a\u1037\u103a \u1021\u1000\u103c\u1031\u102c\u1004\u103a\u1038\u1021\u101b\u102c\u1000\u1010\u1031\u102c\u1037 vue component \u1000\u102d\u102f \u1021\u101e\u102f\u1036\u1038\u1015\u103c\u102f\u1015\u103c\u102e\u1038 javascript \u1000\u1014\u1031\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.spiceworksmyanmar.com\/blog\/how-to-call-vue-component-from-javascript\/\" \/>\n<meta property=\"og:site_name\" content=\"Web Development &amp; Tech Blog | Spiceworks Myanmar\" \/>\n<meta property=\"article:published_time\" content=\"2024-04-05T09:57:05+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.spiceworksmyanmar.com\/blog\/wp-content\/uploads\/2024\/04\/vue_jquery.png\" \/>\n\t<meta property=\"og:image:width\" content=\"700\" \/>\n\t<meta property=\"og:image:height\" content=\"366\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Htay Min Khaung\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Htay Min Khaung\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.spiceworksmyanmar.com\\\/blog\\\/how-to-call-vue-component-from-javascript\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.spiceworksmyanmar.com\\\/blog\\\/how-to-call-vue-component-from-javascript\\\/\"},\"author\":{\"name\":\"Htay Min Khaung\",\"@id\":\"https:\\\/\\\/www.spiceworksmyanmar.com\\\/blog\\\/#\\\/schema\\\/person\\\/0e96b2a8e98976eb94e3b879a49368bd\"},\"headline\":\"How to call Vue Component from JavaScript ?\",\"datePublished\":\"2024-04-05T09:57:05+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.spiceworksmyanmar.com\\\/blog\\\/how-to-call-vue-component-from-javascript\\\/\"},\"wordCount\":304,\"image\":{\"@id\":\"https:\\\/\\\/www.spiceworksmyanmar.com\\\/blog\\\/how-to-call-vue-component-from-javascript\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.spiceworksmyanmar.com\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/vue_jquery.png\",\"articleSection\":[\"System\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.spiceworksmyanmar.com\\\/blog\\\/how-to-call-vue-component-from-javascript\\\/\",\"url\":\"https:\\\/\\\/www.spiceworksmyanmar.com\\\/blog\\\/how-to-call-vue-component-from-javascript\\\/\",\"name\":\"How to call Vue Component from JavaScript ? - Web Development &amp; Tech Blog | Spiceworks Myanmar\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.spiceworksmyanmar.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.spiceworksmyanmar.com\\\/blog\\\/how-to-call-vue-component-from-javascript\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.spiceworksmyanmar.com\\\/blog\\\/how-to-call-vue-component-from-javascript\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.spiceworksmyanmar.com\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/vue_jquery.png\",\"datePublished\":\"2024-04-05T09:57:05+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.spiceworksmyanmar.com\\\/blog\\\/#\\\/schema\\\/person\\\/0e96b2a8e98976eb94e3b879a49368bd\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.spiceworksmyanmar.com\\\/blog\\\/how-to-call-vue-component-from-javascript\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.spiceworksmyanmar.com\\\/blog\\\/how-to-call-vue-component-from-javascript\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.spiceworksmyanmar.com\\\/blog\\\/how-to-call-vue-component-from-javascript\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.spiceworksmyanmar.com\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/vue_jquery.png\",\"contentUrl\":\"https:\\\/\\\/www.spiceworksmyanmar.com\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/vue_jquery.png\",\"width\":700,\"height\":366},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.spiceworksmyanmar.com\\\/blog\\\/how-to-call-vue-component-from-javascript\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.spiceworksmyanmar.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to call Vue Component from JavaScript ?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.spiceworksmyanmar.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.spiceworksmyanmar.com\\\/blog\\\/\",\"name\":\"Web Development &amp; Tech Blog | Spiceworks Myanmar\",\"description\":\"Read Spiceworks Myanmar\u2019s blog on web development, design trends, and IT solutions. Stay informed with tips and insights from our experienced developers.\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.spiceworksmyanmar.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.spiceworksmyanmar.com\\\/blog\\\/#\\\/schema\\\/person\\\/0e96b2a8e98976eb94e3b879a49368bd\",\"name\":\"Htay Min Khaung\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0697c0cb49e0203cb9497435e051d6c348108eab81dfdc0eead8042fff1511be?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0697c0cb49e0203cb9497435e051d6c348108eab81dfdc0eead8042fff1511be?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0697c0cb49e0203cb9497435e051d6c348108eab81dfdc0eead8042fff1511be?s=96&d=mm&r=g\",\"caption\":\"Htay Min Khaung\"},\"url\":\"https:\\\/\\\/www.spiceworksmyanmar.com\\\/blog\\\/author\\\/htay-min-khaung\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to call Vue Component from JavaScript ? - Web Development &amp; Tech Blog | Spiceworks Myanmar","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:\/\/www.spiceworksmyanmar.com\/blog\/how-to-call-vue-component-from-javascript\/","og_locale":"en_US","og_type":"article","og_title":"How to call Vue Component from JavaScript ? - Web Development &amp; Tech Blog | Spiceworks Myanmar","og_description":"\u1019\u1004\u103a\u1039\u1002\u101c\u102c\u1015\u102b\u1001\u1004\u103a\u1017\u103b\u104b \u1000\u103b\u103d\u1014\u103a\u1010\u1031\u102c\u103a\u1000\u1010\u1031\u102c\u1037 SpiceworksMyanmar Co.,Ltd \u1019\u103e\u102c Web Developer \u1021\u1014\u1031\u1014\u1032\u1037 \u1021\u101c\u102f\u1015\u103a\u101c\u102f\u1015\u103a\u1000\u102d\u102f\u1004\u103a\u101c\u103b\u1000\u103a\u101b\u103e\u102d\u101e\u1031\u102c \u100c\u1031\u1038\u1019\u1004\u103a\u1038\u1001\u1031\u102b\u1004\u103a \u1016\u103c\u1005\u103a\u1015\u102b\u1010\u101a\u103a\u104b \u101a\u1014\u1031\u1037 \u1010\u1004\u103a\u1015\u103c\u1015\u1031\u1038\u101e\u103d\u102c\u1038\u1019\u101a\u1037\u103a \u1021\u1000\u103c\u1031\u102c\u1004\u103a\u1038\u1021\u101b\u102c\u1000\u1010\u1031\u102c\u1037 vue component \u1000\u102d\u102f \u1021\u101e\u102f\u1036\u1038\u1015\u103c\u102f\u1015\u103c\u102e\u1038 javascript \u1000\u1014\u1031","og_url":"https:\/\/www.spiceworksmyanmar.com\/blog\/how-to-call-vue-component-from-javascript\/","og_site_name":"Web Development &amp; Tech Blog | Spiceworks Myanmar","article_published_time":"2024-04-05T09:57:05+00:00","og_image":[{"width":700,"height":366,"url":"https:\/\/www.spiceworksmyanmar.com\/blog\/wp-content\/uploads\/2024\/04\/vue_jquery.png","type":"image\/png"}],"author":"Htay Min Khaung","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Htay Min Khaung","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.spiceworksmyanmar.com\/blog\/how-to-call-vue-component-from-javascript\/#article","isPartOf":{"@id":"https:\/\/www.spiceworksmyanmar.com\/blog\/how-to-call-vue-component-from-javascript\/"},"author":{"name":"Htay Min Khaung","@id":"https:\/\/www.spiceworksmyanmar.com\/blog\/#\/schema\/person\/0e96b2a8e98976eb94e3b879a49368bd"},"headline":"How to call Vue Component from JavaScript ?","datePublished":"2024-04-05T09:57:05+00:00","mainEntityOfPage":{"@id":"https:\/\/www.spiceworksmyanmar.com\/blog\/how-to-call-vue-component-from-javascript\/"},"wordCount":304,"image":{"@id":"https:\/\/www.spiceworksmyanmar.com\/blog\/how-to-call-vue-component-from-javascript\/#primaryimage"},"thumbnailUrl":"https:\/\/www.spiceworksmyanmar.com\/blog\/wp-content\/uploads\/2024\/04\/vue_jquery.png","articleSection":["System"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.spiceworksmyanmar.com\/blog\/how-to-call-vue-component-from-javascript\/","url":"https:\/\/www.spiceworksmyanmar.com\/blog\/how-to-call-vue-component-from-javascript\/","name":"How to call Vue Component from JavaScript ? - Web Development &amp; Tech Blog | Spiceworks Myanmar","isPartOf":{"@id":"https:\/\/www.spiceworksmyanmar.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.spiceworksmyanmar.com\/blog\/how-to-call-vue-component-from-javascript\/#primaryimage"},"image":{"@id":"https:\/\/www.spiceworksmyanmar.com\/blog\/how-to-call-vue-component-from-javascript\/#primaryimage"},"thumbnailUrl":"https:\/\/www.spiceworksmyanmar.com\/blog\/wp-content\/uploads\/2024\/04\/vue_jquery.png","datePublished":"2024-04-05T09:57:05+00:00","author":{"@id":"https:\/\/www.spiceworksmyanmar.com\/blog\/#\/schema\/person\/0e96b2a8e98976eb94e3b879a49368bd"},"breadcrumb":{"@id":"https:\/\/www.spiceworksmyanmar.com\/blog\/how-to-call-vue-component-from-javascript\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.spiceworksmyanmar.com\/blog\/how-to-call-vue-component-from-javascript\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.spiceworksmyanmar.com\/blog\/how-to-call-vue-component-from-javascript\/#primaryimage","url":"https:\/\/www.spiceworksmyanmar.com\/blog\/wp-content\/uploads\/2024\/04\/vue_jquery.png","contentUrl":"https:\/\/www.spiceworksmyanmar.com\/blog\/wp-content\/uploads\/2024\/04\/vue_jquery.png","width":700,"height":366},{"@type":"BreadcrumbList","@id":"https:\/\/www.spiceworksmyanmar.com\/blog\/how-to-call-vue-component-from-javascript\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.spiceworksmyanmar.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to call Vue Component from JavaScript ?"}]},{"@type":"WebSite","@id":"https:\/\/www.spiceworksmyanmar.com\/blog\/#website","url":"https:\/\/www.spiceworksmyanmar.com\/blog\/","name":"Web Development &amp; Tech Blog | Spiceworks Myanmar","description":"Read Spiceworks Myanmar\u2019s blog on web development, design trends, and IT solutions. Stay informed with tips and insights from our experienced developers.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.spiceworksmyanmar.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.spiceworksmyanmar.com\/blog\/#\/schema\/person\/0e96b2a8e98976eb94e3b879a49368bd","name":"Htay Min Khaung","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/0697c0cb49e0203cb9497435e051d6c348108eab81dfdc0eead8042fff1511be?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/0697c0cb49e0203cb9497435e051d6c348108eab81dfdc0eead8042fff1511be?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0697c0cb49e0203cb9497435e051d6c348108eab81dfdc0eead8042fff1511be?s=96&d=mm&r=g","caption":"Htay Min Khaung"},"url":"https:\/\/www.spiceworksmyanmar.com\/blog\/author\/htay-min-khaung\/"}]}},"_links":{"self":[{"href":"https:\/\/www.spiceworksmyanmar.com\/blog\/wp-json\/wp\/v2\/posts\/11537","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.spiceworksmyanmar.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.spiceworksmyanmar.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.spiceworksmyanmar.com\/blog\/wp-json\/wp\/v2\/users\/18"}],"replies":[{"embeddable":true,"href":"https:\/\/www.spiceworksmyanmar.com\/blog\/wp-json\/wp\/v2\/comments?post=11537"}],"version-history":[{"count":25,"href":"https:\/\/www.spiceworksmyanmar.com\/blog\/wp-json\/wp\/v2\/posts\/11537\/revisions"}],"predecessor-version":[{"id":11568,"href":"https:\/\/www.spiceworksmyanmar.com\/blog\/wp-json\/wp\/v2\/posts\/11537\/revisions\/11568"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.spiceworksmyanmar.com\/blog\/wp-json\/wp\/v2\/media\/11539"}],"wp:attachment":[{"href":"https:\/\/www.spiceworksmyanmar.com\/blog\/wp-json\/wp\/v2\/media?parent=11537"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.spiceworksmyanmar.com\/blog\/wp-json\/wp\/v2\/categories?post=11537"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.spiceworksmyanmar.com\/blog\/wp-json\/wp\/v2\/tags?post=11537"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}