resultGenes() {
return this.filteredResultGenes.filter(elem => {
return elem.snps.every(n => n.snpgroup.every(m => m.group_id === 1));
});
}
есть похожая задача, только мне необходимо сравнить два значения и если true то отрисовать блок. Every, как я понял возвращает лишь true или false. А есть какой-то метод, чтобы можно было в директиве v-if в массиве пройтись по всем объектам этого массива? ну т.е.
я хочу, чтобы сработала конструкция: v-if="type.id == date.activities.type_id " вот только activities может либо вообще не быть, либо быть пустым либо несколько их может быть.
v-if
. Сделайте вычисляемое свойство, которое будет представлять данные, соответствующие условию, и выводите их все. const obj = Object.assign({}, ...arr.map((n, i) => ({ [n]: arr2[i] })));
// или
const obj = arr.reduce((acc, n, i) => ({ ...acc, [n]: arr2[i] }), {});
const combine = (keys, values) =>
keys.reduce((acc, n, i) => (acc[n] = values[i], acc), {});
const obj = combine(arr, arr2);
.faq-content__row
оформляете в виде отдельного компонента, у которого будут параметры - заголовок и описание, и свойство, отвечающее за показ описания:props: [ 'title', 'desc' ],
data: () => ({
showDesc: false,
}),
<div class="faq-content__row">
<header class="faq-content__title">
<h2 class="faq-content__h2">{{ title }}</h2>
<div class="faq-content__button" @click="showDesc = !showDesc">+</div>
</header>
<p
:class="{
'faq-content__description': true,
'faq-content__description--active': showDesc,
}"
>{{ desc }}</p>
</div>
v-for
, будут создаваться экземпляры компонента:data: () => ({
items: [
{ title: '...', desc: '...' },
{ title: '...', desc: '...' },
...
],
}),
<div class="wrapper">
<v-faq
v-for="item in items"
v-bind="item"
></v-faq>
</div>
<div>{{ someStringValue | limit(10) }}</div>
filters: {
limit(str, limit) {
return str.length > limit ? str.slice(0, limit) + '...' : str;
}
}
<div v-html="sup(someStringValue)"></div>
methods: {
sup(val) {
return val.replace(/\.(\d+)/g, '<sup>$1</sup>');
}
}
<div class="wrapper">
<div class="item"></div>
<div class="item"></div>
</div>
.wrapper {
display: flex;
justify-content: space-evenly;
border: 1px solid black;
height: 200px;
}
.wrapper .item {
border: 1px solid black;
width: 40%;
height: 20%;
position: relative;
top: 70%;
}
$(document).on('click', '.ev-title', function() {
$(this).closest('.wrapper').find('.dop-descr').toggleClass('visible');
});
.dop-descr
, а у их самых дальних не общих предков, которыми, насколько я понял, являются .wrapper
. Если вдруг решите дополнительно стилизовать внутри .wrapper
с кликнутым .ev-title
ещё какие-то элементы, то не придётся переписывать js-код. Конечно, css придётся немного переписать, вместо .dop-descr.класс
стилизовать надо будет .класс .dop-descr
.const containerSelector = '.wrapper';
const buttonSelector = '.ev-title';
const activeClass = 'active';
$(containerSelector).on('click', buttonSelector, e => {
$(e.delegateTarget).toggleClass(activeClass);
});
document
.querySelectorAll(`${containerSelector} ${buttonSelector}`)
.forEach(n => n.addEventListener('click', onClick));
function onClick() {
this.closest(containerSelector).classList.toggle(activeClass);
}
больше не появлялось пока он не почистит куки
Получается накосячил где-то в promise, но не могу разобраться где
да и непонятно тогда, почему console.log(tree) выводит полностью данные
export default { ...test1, ...test2 };
// или
export default Object.assign({}, test1, test2);
// или
export default ((merged, ...objs) => {
for (const n of objs) for (const k in n) {
if (n.hasOwnProperty(k) && !merged.hasOwnProperty(k)) {
merged[k] = n[k];
}
}
return merged;
})({}, test2, test1);
let obj = new (require('./file1'));
max-height: 90%;
overflow: auto;
const result = Object
.entries(Object.assign({}, ...arr1, ...arr2))
.map(n => ({ [n[0]]: n[1] }));
const union = (key, ...arrs) =>
Object.values([].concat(...arrs).reduce((acc, n) => (acc[key(n)] = n, acc), {}));
const result = union(el => Object.keys(el)[0], arr1, arr2);
const result = _.unionBy(arr1, arr2, el => _.keys(el)[0]);