【发布时间】:2020-11-04 08:02:04
【问题描述】:
我在访问我的 VueJS 模板中的某些值时遇到了困难。
我先给你看一下后端的数据 JSON 数据格式:
{
"solutionType": "ABC",
"description": "sometext",
"version": 1
},
{
"solutionType": "ABC",
"description": "sometext",
"version": 2
},
{
"solutionType": "DEF",
"description": "sometext",
"version": 1
}
我想为解决方案类型显示一个复选框,因为相同的解决方案类型应该是版本的选择输入。 当用户从选择输入中选择一个版本时,描述文本区域应该显示该版本的相应文本。现在它没有显示文本,这就是我挣扎的地方。
我的代码中的问题区域是关于“注释:”的位置(注释 == 描述变量),如果你们也有更好的选择输入解决方案,欢迎您 =)
我为此准备了一把小提琴here
但这是我目前的代码
<div id="app">
availableSolutions {{ this.availableSolutions }}
<div
class="row"
v-for="solutionType in this.availableSolutionTypes"
>
<div class="col">
<div
class="row"
:id="solutionType + 'Row'"
>
<div class="container">
<div class="row">
<div class="col-sm">
<label :for="solutionType">
<input
type="checkbox"
class=""
:id="solutionType"
:value="solutionType"
v-model="checkedSolutions"
/>
SolutionType{{ solutionType }}
</label>
</div>
<div class="col-sm">
<select
:ref="solutionType + 'Version'"
:key="solutionType.version"
:v-model="solutionType + 'Version'"
@change="onChange($event, solutionType)"
>
<option
v-for="version in getVersionsForSolutionType(solutionType)"
:value="version"
>
{{ version }}
</option>
</select>
</div>
<div class="col-sm">
<span
:ref="solutionType + 'Description'"
:v-model="solutionType + 'Description'"
:key="solutionType + 'Description'"
>
Notes: {{ solutionType + 'Description' }}
</span>
</div>
</div>
</div>
</div>
</div>
checkedSolution {{ this.checkedSolutions }}
</div>
new Vue(
{
el: "#app",
data: function() {
return {
availableSolutions: [
{
"solutionType": "ABC",
"description": "sometext",
"version": 1
},
{
"solutionType": "ABC",
"description": "sometext",
"version": 2
},
{
"solutionType": "DEF",
"description": "sometext",
"version": 1
}
],
availableSolutionTypes: [
"ABC",
"DEF"
],
checkedSolutions: [],
}
},
methods: {
getVersionsForSolutionType(solutionType) {
var versions = [];
for (let index = 0; index < this.availableSolutions.length; index++) {
var solution = this.availableSolutions[index];
if (solution.solutionType === solutionType) {
versions.push(solution.version);
}
};
console.log("Versions for " + solutionType + ": " + versions);
return versions;
},
}
}
)
到目前为止,我正在尝试做这样的事情,构建一个动态变量,并在其他任何地方都可以访问该变量
- 注释:{{ solutionType + 'Description' }}
但不幸的是,这在给定的 mustache Sytax 中不起作用。我不知道绕过这个。任何帮助表示赞赏。
提前致谢
【问题讨论】: