data: () => ({
value: '',
error: false
}),
methods: {
checkValue() {
this.error = в зависимости от this.value;
}
}
<input v-model="value" :class="{ error }" @blur="checkValue">
<span v-show="error">ошибка</span>
.error {
border-color: red;
}
Как можно его подключить в проект без использования webpack, vue-cli?
document.querySelectorAll('.item-parent').forEach(n => {
n.insertAdjacentHTML('beforeend', '<div class="item-decor"></div>');
});
for (const n of document.getElementsByClassName('item-parent')) {
const div = document.createElement('div');
div.classList.add('item-decor');
n.appendChild(div);
}
function prev(el, selector) {
if (el instanceof HTMLElement) {
el = el.previousElementSibling;
return el && (!selector || el.matches(selector)) ? el : null;
}
if (el && Number.isInteger(el.length) && el.length >= 0) {
return Array.prototype.reduce.call(
el,
(acc, n) => ((n = prev(n, selector)) && acc.push(n), acc),
[]
);
}
return null;
}
// можно передавать как одиночный элемент (результатом будет тоже элемент или null)...
prev(document.body)
// ... так и коллекции (результатом будет массив)
prev(document.images)
prev(document.querySelectorAll('div'), 'span')
v-model
:input.value = какое-то значение;
input.dispatchEvent(new Event('input'));
почему то, выводятся данные в виде 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 + ']'); // и тут тоже числа