javascript - 在模板中访问 "this"

标签 javascript vue.js vuejs2 vue-component

我想在我的模板中动态创建 map 图层。因此我认为我需要访问模板中的 vue 实例

<template>
  <MglVectorLayer
    v-for="(layer, idx) in lLayers"
    :key="idx"
    :sourceId="'someid'"
    :source="somevectorsourcedata"
    :layerId="layer"
    :layer="this[layer]"  <<<<< I need to get the computed propery (layer1 & layer2) here
  />
</template>

export default {
  data () {
    layers: ['layer1', 'layer2']
  },
  computed: {
   layer1 () {
     return (..somelayerdata..)
   },
   layer2 () {
     return (..someotherlayerdata..)
   }
  }
}

当我忽略this时,我收到警告:预期对象,得到字符串...

有人知道我如何访问这个吗?或者也许有另一种/更好的方法来做到这一点?

最佳答案

只需使用一个方法:

:layer="getLayer(layer)"
methods: {
  getLayer(layer) {
    return this[layer]
  }
}

关于javascript - 在模板中访问 "this",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61008908/

相关文章:

vue.js - Vue 2 vue-router 2 laravel 5.3 问题

javascript - 使用 Vue.js 将多个数字输入相加

javascript - 字符串插值Vue js

vue.js - 使用 Lodash 去抖 Vue 组件方法

javascript - 使用 JS 提高安全性

javascript - 如何使用连接操作查询添加日期选择器代码?

vue.js - 如何绑定(bind)内联样式?

javascript - 如何获取 FormData 中的多个复选框值?

javascript - 使用 JavaScript 拆分逗号分隔的字符串但忽略分号之间的逗号

parameters - 使用vuejs时如何在url中传递多个参数