簡體   English   中英

如何將變量值從計算傳遞到vue中的模板?

[英]How to pass a variable value from computed to template in vue?

我有一個 json 響應,在“產品”中我有“資金”,而在資金內部我有一個日期字段。 我想在模板中查看日期。

我使用 forEach 來迭代產品,然后迭代資金,然后將日期分配給變量。 這是在 computed() 內部完成的。

現在我希望在模板中獲取日期。 但我無法獲取它。

我嘗試在方法()中添加相同的內容,但沒有成功

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

products[0].funds[0].fundProcessDate不處理第一個product為空的情況。 我下面的例子確實處理了它。

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

您可以在這種情況下使用Computed-Setter

data: function(){
    return {
        date: ''
    }
},
    
computed: {
        products: {
        // setter
          set: function (newValue) {
            let products = newValue;
            var year = this.selectedSchemeYear;

            products.forEach(function(product){
              product.funds.forEach(function(fund){
                   this.date = fund.fundsProcessDate;
                })
              });
            }
          }
        },

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM