watch: {
'getSelectedEvent.mediaUrl'(val) {
const img = new Image();
img.onload = () => this.checkExistImages = img.height > 0;
img.onerror = () => this.checkExistImages = false;
img.src = val;
},
},
<div id="app">
<div v-if="!images.length">
<h2>Select an images</h2>
<input type="file" @change="onFileChange" multiple>
</div>
<div v-else>
<div v-for="(image, i) in images">
<img :src="image" />
<button @click="removeImage(i)">Remove image</button>
</div>
</div>
</div>
new Vue({
el: '#app',
data: {
images: [],
},
methods: {
onFileChange(e) {
this.createImages(e.target.files || e.dataTransfer.files);
},
createImages(files) {
[...files].forEach(file => {
const reader = new FileReader();
reader.onload = e => this.images.push(e.target.result);
reader.readAsDataURL(file);
});
},
removeImage(index) {
this.images.splice(index, 1);
},
},
});
пишет что такой компонент не зарегистрирован
Я начинающий
$(document).on('hide.bs.modal', '.video', function() {
$('video', this).get(0).pause();
});
function GetFaqAriaExpand(el) {
var fa = $(el).attr('aria-expanded');
...
var fa = GetFaqAriaExpand(this);
var fa = GetFaqAriaExpand.call(this);
$('.radio-input').parent('p').text((i, text) => text.replace('Какой-то ', ''))
$(this).parent('.card-header')
card-header
? - если нет, вызывайте parent без параметра. Или может быть класс есть, но элемент не родительский, а находится выше? - тогда замените parent на closest. Promise.all(rcs.map((residential, i) => {
return new Promise(resolve => {
setTimeout(() => {
...
resolve();
}, i * 50);
});
}).then(() => {
...
});
async setMarkers(rcs) {
for (const residential of rcs) {
await new Promise(resolve => setTimeout(resolve, 50));
...
}
...
}
const sort = {
str: (a, b) => a.text().localeCompare(b.text()),
num: (a, b) => parseInt(a.text(), 10) - parseInt(b.text(), 10),
};
<button class="sort" data-field="age" data-type="num">Сортировать по возрасту</button>
<button class="sort" data-field="name" data-type="str">Сортировать по имени</button>
$('.sort').click(function() {
const
$this = $(this),
data = $this.data(),
compare = sort[data.type],
field = `.${data.field}`,
order = +data.order || 1;
$('.block')
.sort((a, b) => order * compare($(field, a), $(field, b)))
.appendTo('.cont');
$this.data('order', order * -1);
});
rcs.forEach((residential, i) => {
...
/*
* никакого this при создании попапов не надо - какой смысл делать свойством
* компонента один из многих попапов (т.к. тут цикл, новая итерация - новый
* попап, в результате будет сохранён последний созданный)?
*
* то же касается и координат маркера ниже
*/
const popup = DG.popup({
...
setTimeout(() => {
DG.marker([ residential.latitude, residential.longitude ], { icon: myDivIcon })
.addTo(this.markers)
.bindPopup(popup);
}, i * 200);
});
data: {
datasets: [
{
borderColor: [ 'цвет 1', 'цвет 2', 'цвет 3', ... ],
...
},
],
...
},