我可以在组件模板内以某种方式作用域数据吗?
例如,如果我有以下代码:
data() {
a: {test: 'Test A'},
b: {test: 'Test B'}
}
当前在模板中我必须要做的
<div class="a">{{ a.test }}</div>
<div class="b">{{ b.test }}</div>
有什么办法可以使每个元素的数据作用域?例如,类似:
<div :scope="a">{{ test }}</div><!-- This prints 'Test A' -->
<div :scope="b">{{ test }}</div><!-- This prints 'Test B' -->
我确实知道可以将每个项目提取到一个组件中,但是,我想知道是否可以在同一模板中执行此操作?由于它没有自己的逻辑等,因此我不想将其提取到单独的组件中只是为了确定变量的范围。但是,多次重复相同的变量名可能会很麻烦。
例如,我有一个表单来创建一个新项目,其中包含许多输入。我将它们放在变量newItem
下,例如{p>
newItem: {
input1: "",
input2: "",
input3: null,
input4: false,
// etc...
}
在模板中,我想做
<div :scope="newItem">
<input v-model="input1"/>
<!-- etc.. --->
</div>
代替
<input v-model="newItem.input1"/>
<!--- etc... --->