2017-05-11 60 views
1

在处理类似于此的组件时工作。在组件模板中使用<template></template>标签

... 
props: [ 
    'fType', 
    'fName', 
    'fChoiceValue', 
], 
template: ` 
    <template v-if="fType == ('text' || 'password')"> 
     <input v-bind:type="fType" v-bind:name="fName"> 
    </template> 
`, 

我发现vue不会在<template>标签之间渲染任何内容。如果不使用<span></span>代替<template></template>,正确的做法是什么?

回答

2

Vue会警告你这件事。

不能使用<template>作为组分根元素,因为它可含有 多个节点。

这就是说,因为你不想换行,并从@Phil借款(在你的问题的语法总是以fType等于text评估),你可以使输入为根。

template: ` 
    <input v-if="fType == 'text' || fType == 'password'" v-bind:type="fType" v-bind:name="fName"> 
`, 

Example

+0

不幸的是,vue没有在控制台中抛出任何错误。几个小时后,我遇到了'text'||的问题'密码' - 我不知道我在想什么;并最终使用lodash索引。谢谢。 – Dayo

+1

@Dayo在开发过程中,不要使用Vue的'min'版本。这是生产版本,它不会在控制台中显示警告。 – Bert

+0

@Bert ......谢谢你的提高。我现在看到所有的警告和错误。 – Dayo

相关问题