echo implode('<br>', array_map(function($n, $i) use(&$result) {
return
"Книгу ".$result['BOOKS'][$i]['bookName'].
" написали для машины ".$n['name']." в ".$n['year'].
" году, можно заказать по электронной почте ".$result['BOOKS'][$i]['authorEmail'];
}, $result['CARS'], array_keys($result['BOOKS'])));
:class="active: isActive"
:class="{active: isActive}"
const barVM = new Vue({
el: '#bar',
data: {
isActive: false
}
})
new Vue({
el: '#toggle',
methods: {
show: function() {
barVM.isActive = true
}
}
})
@each $query in $queries {
@media (max-width: #{$query}) {
@for $i from 1 through 6 {
h#{$i} {
font-size: nth($sizes, $i);
}
}
}
}
$sizes: (
h6: $fzh6,
h5: $fzh5,
h4: $fzh4,
h3: $fzh3,
h2: $fzh2,
h1: $fzh1
);
@each $query in $queries {
@media (max-width: #{$query}) {
@each $tag, $size in $sizes {
#{$tag} {
font-size: $size;
}
}
}
}
W
, а вторая кнопка мыши - пробел
с автоповтором:const buttonChars = {
1: 'W', // левая (основная) кнопка мыши
2: ' ', // правая (второстепенная) кнопка
};
/* коды кнопок см. в https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons
0 : No button or un-initialized
1 : Primary button (usually the left button)
2 : Secondary button (usually the right button)
4 : Auxilary button (usually the mouse wheel button or middle button)
8 : 4th button (typically the "Browser Back" button)
16 : 5th button (typically the "Browser Forward" button)
Могут быть нажаты одновременно несколько кнопок мыши - их коды суммируются.
*/
let timer;
const clearTimer = () => {if (timer) clearInterval(timer);}
const root = window;
root.addEventListener("mousedown", e => {
if (buttonChars.hasOwnProperty(e.buttons)) {
const func = () => e.target.dispatchEvent(
new KeyboardEvent('keydown',{
'key': buttonChars[e.buttons],
'bubbles': true,
'cancellable': true,
})
);
func();
clearTimer();
timer = setInterval(func, 80);
};
});
root.addEventListener("mouseup", clearTimer);
<header>
<div v-if="user">Здравствуйте, {{ user.name }}</div>
<button v-else>Войти</button>
</header>
data: () => ({
selectedTypes: [],
...
}),
computed: {
types() {
return [...new Set(this.items.map(n => n.type))];
},
...
},
<template v-for="n in types">
<input type="checkbox" :value="n" v-model="selectedTypes" :id="n">
<label :for="n">{{ n }}</label>
</template>
computed: {
filteredItems() {
const types = this.selectedTypes;
return this.items.filter(n => types.includes(n.type));
},
...
},
<figure v-for="n in filteredItems">
<img :src="n.src" alt="">
</figure>
Сделал немного иначе, работает, но использовал два шаблона, вместо одного
https://jsfiddle.net/madeas/s47gqbaz/5/
checked === false
.Вложенных массивов же Sass не знает? В доке не нашёл.
$text_sizes: (
s: ( s:20px, m:48px, l:100px ),
m: ( s:24px, m:56px, l:114px ),
l: ( s:28px, m:68px, l:138px ),
xl: ( s:32px, m:74px, l:154px ),
xxl: ( s:36px, m:88px, l:184px ),
);
@each $size, $def in $text_sizes {
.text_size_#{$size} {
@each $word_size, $word_width in $def {
.text__word_width_#{$word_size} {
width: $word_width;
}
}
}
}
пробую создавать макеты в Figma
Готовых сайтов на чистом vue/react + эти библиотеки пока не видел