top
нужно менять свойство translate
. В этом случае при анимации будет задействована видеокарта и она будет сильно плавнее. Vue использует алгоритм, минимизирующий перемещение элементов
Vue изменяет порядок следования элементов, основываясь на изменении порядка ключей
let x = [1, 2, 3, [1, 2, 3, [1, 2, 3, [1, 2, 3, [1, 2, 3, [1, 2, 3, [
], 4, 5], 4,
[1, 2, 3, [], 4, 5],
5], 4, 5], 4, 5], 4, 5],
[1, 2, 3, [], 4, 5],
4, 5];
console.log(typeof x) // внезапно "object"
в такой объект
function convert(data) {
return Array.isArray(data) ? Object.assign({}, data.map(convert)) : data
}
// но там же под капотом все равно перебор
console.log(convert(arr))
https://jsfiddle.net/8cLs4601/ у main.js такой код
import {one, two} from "./nums";
data: () => ({
numShow: 0,
...
computed: {
itemsToShow() {
return this.items.slice(0, this.numShow);
},
...
methods: {
showNext() {
this.numShow = Math.min(this.items.length, this.numShow + 1);
},
hidePrev() {
this.numShow = Math.max(0, this.numShow - 1);
},
...
<transition-group
@after-enter="showNext"
@after-leave="hidePrev"
...
>
<div
v-for="(n, i) in itemsToShow"
:key="n.id"
...
>
...
methods: {
run() {
this.numShow += ({
0: 1,
[this.items.length]: -1,
})[this.numShow] || 0;
},
...
<input id="date" type="date" v-model="start_day">
window.getComputedStyle(element).transform
<form method="post" action="send/to/server">
<input id="textbox" name="sendtext" class="controls-elements" placeholder="Напишите сообщение и нажмите Enter" type="text"></input>
<button id="send" onclick="buttonotprav()" class="controls-elements" type="submit">Отправить</button>
</form>
$('form').on('submit', event => {
event.preventDeailt();
... // тут можно получить ответ от сервера, если ajax'ом сделать
})