Vue
by Phil Brown
HTML
<div id="app">
<my-external-component></my-external-component>
</div>
CSS
body {
background: #20262E;
padding: 20px;
font-family: Helvetica;
}
#app {
background: #fff;
border-radius: 4px;
padding: 20px;
transition: all 0.2s;
}
li {
margin: 8px 0;
}
h2 {
font-weight: bold;
margin-bottom: 15px;
}
del {
color: rgba(0, 0, 0, 0.3);
}
Vue
const component = {
"template": "<div><span>{{message}}</span></div>",
"data": {
"message": "Hello World"
}
}
Vue.component('MyExternalComponent', () =>
fetch('/echo/json', {
method: 'post',
headers: { 'Content-type': 'application/x-www-form-urlencoded' },
body: `delay=2&json=${encodeURIComponent(JSON.stringify(component))}`
}).then(res => res.json())
)
new Vue({
el: "#app",
data: {
}
})