export default { name: 'TreeItem', // necessary for self-reference props: { model: Object }, data() { return { isOpen: false } }, computed: { isFolder() { return this.model.children && this.model.children.length } }, methods: { toggle() { if (this.isFolder) { this.isOpen = !this.isOpen } }, changeType() { if (!this.isFolder) { this.model.children = [] this.addChild() this.isOpen = true } }, addChild() { this.model.children.push({ name: 'new stuff' }) } }, template: `