// хочу добавить в list_appointments_drugs новый объект drug, но получается что добавляю модель this.list_appointments_drugs.unshift(this.drug)
this.list_appointments_drugs.unshift({ ...this.drug })
data: () => ({
drug: null,
defaultDrugData: {
...
},
...
}),
created() {
this.resetDrug();
},
methods: {
addDrug() {
this.list_appointments_drugs.unshift(this.drug);
this.resetDrug();
},
resetDrug() {
this.drug = { ...this.defaultDrugData };
},
...
},
Этот код не работает. Совсем.
test: function() { _.debounce(function() { console.log('test222'); }, 500); }
test: _.debounce(function() {
console.log('test222');
}, 500)
Как можно прикрутить это дело в vue, или как средствами vue подобное реализовать?
methods: {
onMouseOver(e) {
if (e.buttons) {
e.target.checked = !e.target.checked;
}
},
},
<input
type="checkbox"
v-for="i in 3000"
@mouseover="onMouseOver"
>
для каждого генерировать модель мне кажется не вариант
data: () => ({
checkboxes: Array(3000).fill(false),
}),
methods: {
onMouseOver(e, index) {
if (e.buttons) {
this.$set(this.checkboxes, index, !this.checkboxes[index]);
}
},
},
<input
type="checkbox"
v-for="(n, i) in checkboxes"
v-model="checkboxes[i]"
@mouseover="onMouseOver($event, i)"
>
v-model
(если чекбоксов много). data: () => ({
activeProject: null,
...
}),
<button
v-for="project in group"
v-text="project.name"
@click="activeProject = project"
></button>
<input type="checkbox" v-model="task.done">
Проблема в том, что после первого тыка не хочет рендерится новый лог, он вроде как подгружается, но страница рендерит "первака".
#analyzes-template
- добавьте существующим элементам общий родительский:<template id="analyzes-template">
<div>
<div v-show="active_analyzes_template">
Анализы
</div>
<a class="btn btn-sm btn-outline-success" @click="openTemplate()">НАЗНАЧИТЬ АНАЛИЗЫ</a>
</div>
</template>
export default {
name: 'CustomButton',
data: () => ({
input_value: '',
}),
computed: {
user() {
return this.$store.state.user;
},
},
watch: {
user(val) {
this.input_value = val.custombutton;
},
},
};
Все слишком громоздко, ступор.
Попробовала показать работу тут.
computed: {
categories() {
return this.$store.state.main_page.NEWS.map(n => ({
value: n.id,
label: n.name,
}));
},
},
dateStart: {
get() {
return moment().subtract(1, this.selectedPeriod).toDate();
},
set(value) {
// ну, тут вам виднее, какой должен код быть
},
},
из-за того, что при первичном рендере input №2 не существует, на него не применяется библиотека VeeValidate
на второй возникает ошибка, что я делаю не так?
как лучше реализовать, чтобы замена символа происходила в том же окне
<textarea v-model="input"></textarea>
data: () => ({
input: '',
}),
watch: {
input(v) {
this.input = v.split('1').join('2');
},
},
<textarea v-model="input" @input="onInput"></textarea>
data: () => ({
input: '',
}),
methods: {
onInput() {
this.input = this.input.split('1').join('2');
},
},