Vue-如何在模板中确定变量的范围

时间:2018-11-12 23:02:26

标签: vue.js

我可以在组件模板内以某种方式作用域数据吗?

例如,如果我有以下代码:

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... --->

1 个答案:

答案 0 :(得分:-1)

否。

没有这样的方法。并且还需要为特定数据指定ExampleClass::myArray,否则它将不起作用。否则,我们可以想到v-for