【发布时间】:2016-12-12 11:28:12
【问题描述】:
我通过 Laravel 将用户数据传递给组件,该数据包含以英里为单位的距离,但是用户可以选择以公里为单位设置视图距离,因此我必须通过 profile.distance_mi 来计算,如何我要做到这一点吗?
HTML:
<saved profiles="{{json_encode($profiles)}}" unit="{{Auth::user()->settings->unit}}"></saved>
<div v-for="profile in profiles" class="col-xs-12 col-sm-4 col-md-3">
...
<h4>@{{distance}}</h4>
....
</div>
JS
new Vue(
{
el: 'body',
components:
{
saved:
{
template: '#saved',
props: ['profiles', 'unit'],
created: function ()
{
this.profiles = JSON.parse(this.profiles);
},
computed:
{
distance: function ()
{
var unit = this.unit;
return unit == 0 ? Math.round(distance * 1.60934) + ' km' : distance + ' miles';
}
}
}
}
});
【问题讨论】:
标签: javascript html arrays laravel vue.js