从计算属性中读取数据值

时间:2016-08-05 19:55:58

标签: vue.js

我正在尝试访问" ts"在计算属性中,所以我可以(最终)根据其值返回不同的类。但我无法获得" ts"。

的价值
     <div id="example">

        <div v-for=" alerte in alertes" v-bind:class=bgcoul>
         {{alerte.text}}   {{alerte.ts}}
        </div>

    </div>


    var vm = new Vue({
        el: '#example',
        data : {
          alertes:[ 
            {text: "qeq2", ts: '0'},
            {text: "qeq3", ts: '5'},
            {text: "qeq3", ts: '15'}
        ]
      },
         computed: {
            bgcoul: function () {
              console.log(this.ts);
              return { };
            }
         }
});

console.log(this.ts)仅提供&#34; undefined&#34;。

2 个答案:

答案 0 :(得分:0)

this.ts不存在。 this.alertes是一个对象数组,其中每个对象都具有ts属性。

computed: {
  bgcoul: function () {
    this.alertes.forEach(alert => console.log(alert.ts) )
    return { };
  }
}

答案 1 :(得分:0)

将ts值作为参数传递并使用方法,请参阅下面的代码片段

&#13;
&#13;
var vm = new Vue({
        el: '#example',
        data : {
          alertes:[ 
            {text: "qeq2", ts: '0'},
            {text: "qeq3", ts: '5'},
            {text: "qeq3", ts: '15'}
        ]
      },
         methods: {
            bgcoul: function (ts) {
              console.log(ts);
              return { };
            }
         }
});
&#13;
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/1.0.26/vue.min.js"></script>
     <div id="example">

        <div v-for=" alerte in alertes" v-bind:class="bgcoul(alerte.ts)">
         {{alerte.text}}   {{alerte.ts}}
        </div>

    </div>
&#13;
&#13;
&#13;