Vue JS-呈现多个组件实例
Vue JS - Rendering Multiple Instances of Components
开发环境:
首先,我使用的是Vue 1.0和Vueify 7.0.0,使用的是最新的节点。js、npm和browserfy在本地Apache服务器的Ubuntu机器上编译代码。
问题:
我为<form-input/>
创建了一个自定义组件,它的渲染没有错误。然而,当试图将它们放在一起时,只有一个会渲染:
<form>
<form-input />
<form-input />
<form-input />
</form>
为了让多个组件进行渲染,我必须将每个组件封装在自己的<div>
中。
<form>
<div><form-input /></div>
<div><form-input /></div>
<div><form-input /></div>
</form>
作为参考,<form-input />
模板如下所示:
<template>
<div class="input-group">
<label"></label>
<input name="" class="form-control" type="text">
</div>
</template>
并不是说这是一个非常糟糕的问题,但如果没有额外的<div>
标签,阅读起来会容易得多。
问题:
这种预期行为是因为每个组件都需要自己的dom元素来绑定,还是我缺少了什么?
仅供参考:
我也尝试过用一个额外的div标记来包装模板,但这没有帮助。我也没有得到任何编译或运行时错误,无论它写模板的方式。
提前谢谢。
我不确定这是否会导致问题,但Vue.js的创建者不建议使用自关闭标签:https://github.com/vuejs/vue/issues/1036.如果您将输入更改为<form-input></form-input>
,您还会有问题吗?
我不知道这个建议如何与Vue 1.0配合使用,但与Vue 2.0配合使用效果很好:
- 您只需要为每个组件添加键属性,该属性告诉Vue将这些自定义组件渲染为单独的组件
<form>
<form-input key="form-input-1" />
<form-input key="form-input-2" />
<form-input key="form-input-3" />
</form>
相关文章:
- KnockoutJS-组件-多个实例
- 如何在另一个组件中获取指令/组件实例
- 在Flux中处理同一组件的多个实例
- Aurelia组件在其他视图模型中使用时不共享实例
- 通过“;类“"实例”;使用ReactJS组件代替“props”文字
- 处理Twitter Flight组件的多个实例的事件
- 当有多个 React.js 组件实例具有数据请求时如何处理缓存
- 比较两个组件 - 组件 X 是组件 A 的实例吗?
- ExtJs - 如何在使用多个实例时设置组件的 ID
- Emberjs-1.0 将控制器实例传递给 ember 组件
- ES6+React组件实例方法
- Vue JS-呈现多个组件实例
- 是否可以在React组件实例化后添加一个关键属性
- 如何更新表示相同数据的两个不同React组件实例
- 如何在Reactjs中创建组件实例
- 处理多个组件实例的回调
- 有些JS文件更像库——它们[…]永远不要直接操作QML组件实例"-中间立场
- Sinon.js - 在组件实例化之前存根 React 组件的函数
- 隔离 Angular 1.5 组件实例中的事件
- 如何在将组件实例移动到react中的另一个父组件时保留它