vue如何运行时加载模版,且调用新创建组件

新手上路,请多包涵

目的:想利用字符串的模版加上slot实现动态表单。
构建form.js:

render(h){

let layout = h({
  name:'layout',
  template:'<div class="layout"><slot></slot></div>'
  });
  let child = h({
    name:'child',
    template:'<a href="javascript:void(-1)">666</a>'
  });
  let c = h({
      name:'c',
      template:'<layout><child></child></layout>',
      components:{layout,child}
    });
  return c

}
运行出错,请问如何更改?
图片描述

图片描述

如果单独返回child 成功,请问为什么?怎么调用多个引用组件?作用域的问题?
期待您的答案,谢谢!

阅读 4.7k
1 个回答
✓ 已被采纳新手上路,请多包涵
  1. let child = {name:'child',template:'<div><label>child:</label><input
    value="ddd"></input></div>'};

  2. let tp = {name:'tp',template:'<div class="layout">9999:<slot
    name="sss"></slot></div>'};

  3. let view = {name:'tpz',template:'<div><tp><child

       slot="sss"></child></tp></div>',components:{tp,child}};
  4. return h(view)

这种demo可以实现

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题