Module: Vue::ViewHelper

Included in:
ControllerRenderer
Defined in:
lib/vue/view_helper.rb

Instance Method Summary collapse

Instance Method Details

#vue_component(component_name, props, options = {}, &block) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/vue/view_helper.rb', line 3

def vue_component(component_name, props, options = {}, &block)
  render_name = component_name.dasherize
  render_props = props.transform_keys { |key| key.to_s.dasherize }

  if options[:prerender]
    renderer = ::Vue::ServerRenderer.new
    renderer.render(render_name, render_props)
  else
    (
      render_name,
      'data-props': render_props.to_json
    ) do
      yield if block_given?
    end
  end
end