Skip to content

Instantly share code, notes, and snippets.

@jennevdmeer
Last active July 5, 2019 11:52
Show Gist options
  • Save jennevdmeer/723a55db989280d45a1d301b9ca4cf91 to your computer and use it in GitHub Desktop.
Save jennevdmeer/723a55db989280d45a1d301b9ca4cf91 to your computer and use it in GitHub Desktop.
Vue self removing initializer with external props
<template>
<div>
{{ foo }}
{{ helloWorld }}
</div>
</template>
<script>
export default {
name: 'entry-component',
props: [ 'foo', 'helloWorld' ]
};
</script>
import Vue from 'vue';
import Component from './Component';
const currentScript = document.currentScript || (function() {
const scripts = document.getElementsByTagName('script');
return scripts[scripts.length - 1];
})();
if (currentScript) {
const propsData = {};
for (let k in currentScript.dataset) {
propsData[k] = JSON.parse(currentScript.dataset[k]);
}
const AssessmentList = new Vue({
el: currentScript,
propsData,
...Component
});
}
<script src="entry.js"
data-foo="{{ 'bar'|json_encode }}"
data-hello-world="{{ ({ hello: 'world' })|json_encode }}"
></script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment