почему то, выводятся данные в виде undefined
getFriends() {
return Vue.axios.get(...
this.$friends.getFriends().then(friends => console.log(friends))
.then((response) => {
this.loading = false;
console.log(response);
})
.then(function(response) {
this.loading = false;
console.log(response);
}.bind(this))
var that = this;
axios.post('/comment', {
text: this.com_text,
}).then(function(response) {
that.loading = false;
console.log(response);
})
methods: {
async add_comm() {
this.loading = true;
try {
var response = await axios.post('/comment', {
text: this.com_text
});
console.log(response);
} catch(error) {
console.error(error);
}
this.loading = false;
}
}
methods: {
add_comm() {
this.loading = true;
axios.post('/comment', {
text: this.com_text
})
.then(this.onResponse)
.catch(this.onError)
.finally(this.onFinal);
},
onResponse(response) {
console.log(response);
},
onError(error) {
console.error(error);
},
onFinal() {
this.loading = false;
}
}
$rows = $result->fetchAll();
foreach ($rows as $row) {
while ($row = $result->fetch()) {
SELECT range_id, MIN(sernum), MAX(sernum)
FROM table_name
GROUP BY range_id
:src="getImgUrl(diaryIcons)
сделайте :src="getImgUrl(icons)
.getImgUrl(icon) {
var images = require.context('../../../../assets/icons/', false, /\.png$/)
return images('./' + icon.name + '.png')
}
const $sorted = $('table tr').sort(el => $(el).hasClass('important') ? -1 : 1);
$sorted.appendTo($sorted.parent());
const $important = $('table tr.important');
$important.parent().prepend($important);
data: () => ({
focused: false,
}),
<input @focus="focused = true" @blur="focused = false">
<span v-show="focused">FOCUSED</span>
const $el = $('[data-value]');
// или
const el = document.querySelector('[data-value]');
const str = $el.data('value');
// или
const str = $el.attr('data-value');
// или
const str = el.dataset.value;
// или
const str = el.getAttribute('data-value');
// или
const str = el.attributes['data-value'].value;
const arr = str.split(',');
// или
const arr = str.match(/\d+/g) || [];
// или
const arr = str.split(/\D/);
// или
const arr = JSON.parse(`[${str}]`); // вместо строк тут будут числа
// или
const arr = eval('[' + str + ']'); // и тут тоже числа
.modal-close
не нужен - его убираем; добавляем проверку, кем является целевой элемент:$('.modal-window').click(function(e) {
if (e.target.matches('.modal-window, .modal-close')) {
$(this).hide();
}
});
const container = document.querySelector('.dots-wrapper');
const tag = 'div';
const className = 'dot';
const count = 10;
const elementHTML = `<${tag} class="${className}"></${tag}>`;
const elementsHTML = Array(count).fill(elementHTML).join('');
// или
const elementsHTML = Array(count + 1).join(elementHTML);
// или
const elementsHTML = elementHTML.repeat(count);
container.innerHTML = elementsHTML;
// или
container.insertAdjacentHTML('beforeend', elementsHTML);
for (let i = 0; i < count; i++) {
const element = document.createElement(tag);
element.classList.value = className;
container.insertAdjacentElement('beforeend', element);
}
while (container.children.length < count) {
const element = document.createElement(tag);
element.classList.add(className);
container.appendChild(element);
}
const element = document.createElement(tag);
element.className = className;
container.append(...Array.from({ length: count }, () => element.cloneNode()));
И здесь idUser не работает, только после перезагрузки страницы.
this.$router.push({name: 'feed'})
следует выполнять в колбеке запроса получения данных пользователя.Также, почему-то я не могу получить из localstorage 'user' - пишет '[object Object]'.
<div class="app">
<div class="plain"></div>
</div>
.app {
width: 200px;
height: 200px;
overflow: scroll;
}
.plain {
width: 1000px;
height: 1000px;
background: linear-gradient(135deg, red, blue);
}
let x = null;
let y = null;
document.querySelector('.app').addEventListener('mousemove', function(e) {
if (e.buttons) {
if (typeof x === 'number') {
this.scrollLeft += (x - e.layerX) * 3;
this.scrollTop += (y - e.layerY) * 3;
}
x = e.layerX;
y = e.layerY;
} else {
x = y = null;
}
});
v-for
. Слушать событие change, по которому выставлять состояния предыдущих чекбоксов (относительно того, на котором событие случилось) в true, следующих в false:data: () => ({
checked: [ 0, 0, 0, 0, 0 ],
}),
methods: {
onChange(e, index) {
const checked = e.target.checked;
this.checked = [
...Array(index + checked).fill(1),
...Array(this.checked.length - index - checked).fill(0),
];
},
},
<li v-for="(n, i) in checked">
<label>
<input
type="checkbox"
:checked="n"
@change="onChange($event, i)"
>
{{ i + 1 }}
</label>
</li>
а если несколько таких списков будет
function throttle(f, delay) {
let lastCall = -Infinity;
return function() {
const now = +new Date;
if (now - lastCall > delay) {
lastCall = now;
return f.apply(this, arguments);
}
};
}