我是PHP开发人员,具有js和vuejs的非常基础的知识,很抱歉,如果它看起来太愚蠢。我正在构建非常复杂的反应型金融计算器。附言我在Laravel(刀片模板)上工作,并使用刀片@foreach()将数据提取到vue中我的问题是计算属性。我需要从非常复杂的数学公式中找到一个值(下面的代码几乎看不出整个想法。在我的cashDivideds()计算函数上,我需要做一些数学运算以找到数组中每个对象的值。我使用这种方式:。经过所有计算后,我得到了正确值的输出,但仅适用于数据库中的第一个@foreach($preferredEquities as $equities)。问题:如何从每个$equity中SUM我的计算值。在我的代码下面,希望有足够的信息来理解我的问题。new Vue({ el: "#waterfall", data: { form: { exit_value: 0, exit_date: moment(), uncovered_debt: 0, transaction_fees: 0, remaining_exit: "", }, }, computed: { remainingExit () { return this.form.exit_value - this.form.uncovered_debt - this.form.transaction_fees }, cashDividends() { @foreach($preferredEquities as $equity) @if($equity->dividends == false) return 0 @elseif($equity->dividends == true && $equity->dividend_type == 'equity') return 0 @elseif($equity->dividends == true && $equity->dividend_type == 'cash' && $equity->compounding == false) var exit_date = this.form.exit_date; var creation_date = moment("{{ $equity->creation_date }}"); //Date Difference: days var days_difference = creation_date.diff(exit_date,'days'); var days_difference = Math.abs(days_difference); // Accrual Frequency Percentage var daily = (days_difference / 365) * {{ $equity->dividend_percent }}; //Total Cash Dividend @if($equity->dividend_frequency == "Daily") var cash_dividend = daily * ({{ $equity->share_price * $equity->shares_authorized }}); @endif @endforeach OUTPUT: need to return sum of cash_dividend for each $equity. Need help with this part } }}); (adsbygoogle = window.adsbygoogle || []).push({}); 最佳答案 首先将您的php数组保存在Mounted()挂钩中的数据/状态变量/数组中。mounted() { this.dataToWork = {!! $preferredEquities !!}}仅使用js处理数据,处理js数组..不要在Vue中使用刀片函数使事情复杂化。 (adsbygoogle = window.adsbygoogle || []).push({});
07-26 03:36