如何在Vue中将变量值从计算值传递到模板?

时间:2019-04-25 07:08:04

标签: javascript vue.js

我有一个json响应,在“产品”中有“资金”,在内部资金中有日期字段。我想在模板中查看日期。

我用forEach迭代产品,然后迭代资金,然后将日期分配给变量。这是在calculated()内部完成的。

现在,我希望在模板中获取日期。但是我无法获取它。

我尝试在methods()中添加相同的内容,但没有成功

data: function(){
    return {
        date: ''
    }
},


computed: {
        products: function(){
            let products = this.sortedSchemeData.products;
            var year = this.selectedSchemeYear;

            products.forEach(function(product){

            product.funds.forEach(function(fund){
                   var date = fund.fundsProcessDate;
               console.log(date); //some date from json

                })
            });

            return products;
        }
    },


<template>
<div>
<p>date: <b>{{date}}</b></p>
</template>

date: date in json

2 个答案:

答案 0 :(得分:0)

第一个products[0].funds[0].fundProcessDate为空时,product无法处理这种情况。我下面的example确实可以处理。

computed: {
    date() {
      const found = this.products.find(product =>
        product.funds.some(fund => fund.fundsProcessDate != null)
      );
      return (found && found.funds[0].fundsProcessDate) || "01-01-2019"; //default date if not found from all of them
    }
}

答案 1 :(得分:0)

在这种情况下,您可以使用Computed-Setter

<clipPath id="poly">
   <polygon points="0 0, 50 0, 50 50, 0 50"></polygon>
</clipPath>