# Complex node views ## toc ## Introduction TODO ```js import { Node } from '@tiptap/core' import { VueRenderer } from '@tiptap/vue' import Component from './Component.vue' export default Node.create({ addNodeView() { return ({ editor, node, getPos, HTMLAttributes, decorations, extension }) => { const dom = document.createElement('div') dom.innerHTML = 'I’m a node view' return { dom, } }) }, }) ``` ## Different types of node views ### Simple ```html

text

text

text

``` ### Without content ```html

text

text

text

``` ### Advanced node views with content ```html

text

non-editable text
editable text

text

``` ## Render Vue components ### Node ```js import { Node } from '@tiptap/core' import { VueRenderer } from '@tiptap/vue' import Component from './Component.vue' export default Node.create({ addNodeView() { return VueRenderer(Component) }, }) ``` ### Component ```html ```