【问题标题】:How I rewrite this code in VueJS using v-for?如何使用 v-for 在 VueJS 中重写此代码?
【发布时间】:2019-08-19 06:15:35
【问题描述】:

如何使用 v-for 在 vuejs 中使用以下代码?

@php $rating = 3; @endphp

@foreach(range(1,5) as $r)
<span class="fa-stack" style="width:1em">
    <i class="far fa-star fa-stack-1x"></i>

    @if($rating >0)
        @if($rating >0.5)
          <i class="fas fa-star fa-stack-1x"></i>
        @else
          <i class="fas fa-star-half fa-stack-1x"></i>
        @endif
    @endif

    @php $rating--; @endphp
</span>
@endforeach

我使用了以下方法。但我不知道我是如何降低评分的。

<span class="fa-stack" style="width:1em" v-for="r in 5">
    <i class="far fa-star fa-stack-1x"></i>
    <i class="fas fa-star fa-stack-1x" v-if="product.average_rating > 0  && product.average_rating > 0.5"></i>
    <i class="fas fa-star-half fa-stack-1x" v-if="product.average_rating > 0  && !(product.average_rating > 0.5)"></i>
</span>

【问题讨论】:

  • 使用 vuejs 迁移 laravel 模板

标签: php laravel vue.js


【解决方案1】:

我认为您不能以与刀片相同的方式执行此操作,但如果您要减少的是 product.average_rating,那么您可以在您提供的代码块中的任何位置将 product.average_rating 替换为 (product.average_rating - r + 1) .像这样:

<span class="fa-stack" style="width:1em" v-for="r in 5">
    <i class="far fa-star fa-stack-1x"></i>
    <i class="fas fa-star fa-stack-1x" v-if="(product.average_rating - r + 1) > 0  && (product.average_rating - r + 1) > 0.5"></i>
    <i class="fas fa-star-half fa-stack-1x" v-if="(product.average_rating - r + 1) > 0  && !((product.average_rating - r + 1) > 0.5)"></i>
</span>

【讨论】:

  • 你能举个例子吗?
  • @UttaraInfoTech 用示例更新了我的答案。
猜你喜欢
  • 1970-01-01
  • 2017-09-11
  • 2021-10-05
  • 1970-01-01
  • 2019-09-13
  • 2019-11-30
  • 1970-01-01
  • 2020-09-08
  • 1970-01-01
相关资源
最近更新 更多