Привет anaisUx и добро пожаловать на SO.
Вам нужно привести пример кода. Что вы пробовали? Что не работает?
Но чтобы ответить на ваш вопрос о v-if: v-if не поможет вам с вашей проблемой. v-if используется в шаблонах VueJS, чтобы указать, должен ли элемент отображаться или нет. Здесь вы описываете какую-то бизнес-логику, которую не следует вставлять в шаблоны, а внутри компонента, а затем отображать результаты в шаблоне.
Не будь слишком резким, похоже, что ты совсем новичок в VueJS и программировании в целом, поэтому я собираюсь направить тебя в правильном направлении.
Создайте приложение VuuJS: https://vuejs.org/v2/guide/#Getting-Started
Создайте свой ввод (затраченное время) и свяжите его со свойством данных: https://vuejs.org/v2/guide/#Handling-User-Input
Экономия времени зависит от затраченного времени, поэтому вычисляемое свойство выглядит так, как будто оно может работать: https://vuejs.org/v2/guide/computed.html
Напишите свою бизнес-логику с помощью простых операторов if.
Другими словами:
- Создать свойство данных с именем timespent
- Создайте входные данные в своем шаблоне и свяжите их с временным интервалом
- Создайте вычисляемое свойство с именем timesaved, которое использует временную шкалу для расчета того, сколько времени сэкономит клиент.
- Рендеринг, сохраненный в вашем шаблоне
Ожидаемый результат: как только клиент вводит что-то в ваш ввод, приложение VueJS должно отрисовывать время с сохранением шаблона. Это должно обновиться автоматически.
Вы можете попрактиковаться на codepen, jsfiddle, codesandbox.io/s/vue или любом другом подобном сайте и опубликовать свой код здесь, чтобы получить обратную связь.
Редактировать: Поскольку вы приложили усилия и немного попробовали, вот рабочий пример:
https://codepen.io/bergur/pen/WqPjNo
new Vue({
el: '#app',
data() {
return {
hours: ''
}
},
computed: {
save() {
if (this.hours > 0 && this.hours < 20) {
return 1
}
if (this.hours >= 20 && this.hours < 30) {
return 10
}
if (this.hours >= 30 && this.hours < 50) {
return 20
}
if (this.hours >= 50) {
return 30
}
}
}
})
Данные свойства часов хранят количество часов, потраченных клиентом на выставление счетов. Как я упоминал выше, нет необходимости в множественном v-if, бизнес-логика должна оставаться в компоненте.
Я использовал вычисленное свойство save, в котором хранятся часы, которые клиент может сэкономить.