У меня есть список из 4 элементов, и мне нужно удалить первый элемент при каждом нажатии кнопки. Я реализовал простое решение, основанное на методе сращивания, но, похоже, работает только с первого щелчка. Любой последующий щелчок ничего не меняет.Удалить первый элемент на клик в Ractive.js
Вот HTML:
<script type="text/ractive" id="template1">
{{#each Posts}}
<div style="background-color: red">{{Text}}</div>
{{/each}}
<button on-click="removeFirst">Remove first</button>
</script>
<main></main>
, JavaScript:
var ractive1 = new Ractive({
template: '#template1',
el: 'main',
data: {
Posts: [ {Text: "Post 1"}, {Text: "Post 2"}, {Text: "Post 3"}, {Text: "Post 4"} ],
}
});
ractive1.on({
removeFirst: function() {
ractive1.splice('Posts', 0, 1, []);
}
});
И в javascript, удаляющем первый элемент, достаточно обычная операция, когда у него есть собственный метод: 'shift()'. В ractive вы можете использовать это в массиве или использовать метод API, например 'ractive1.shift ('Posts');' – martypdx