javascript - Impossible d'obtenir les données poussées dans V-For?
PHPz
PHPz 2017-05-19 10:21:07
0
3
793

Après avoir cliqué sur le bouton dans le code suivant, le contenu du tableau app.items2 change et le deuxième ul est également rendu en li, mais le item.message dans items2 n'est pas rendu. Pourquoi cela et comment le résoudre. ?

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>

    </style>
</head>
<body>
    <p id="example-1">
        <ul>
            <li v-for="item in items">
                {{ item.message }}
            </li>
            
        </ul>
        <ul>
            <li v-for="item in items2">{{ item.message }}</li>
        </ul>
        <button @click="aaa">移动</button>
    </p>
    <script src="http://vuejs.org/js/vue.js"></script>
    <script>
        var app = new Vue({
            el: '#example-1',
            data: {
                items: [{
                    message: 'Foo'
                }, {
                    message: 'Bar'
                }],
                items2: []
            },
            methods: {
                aaa: function() {
                    this.items2.push(this.items.splice(0, 1));
                }
            }
        })
    </script>
</body>
</html>
PHPz
PHPz

学习是最好的投资!

répondre à tous(3)
伊谢尔伦

Array.prototype.splice() Valeur de retour Un tableau composé d'éléments supprimés. Si un seul élément a été supprimé, un tableau contenant un seul élément est renvoyé. Si aucun élément n'a été supprimé, un tableau vide est renvoyé.

https://developer.mozilla.org...

this.items2.push(this.items.splice(0, 1)[0]);

https://jsfiddle.net/ycloud/n...

给我你的怀抱

this.items2.push(...this.items.splice(0, 1));

黄舟

La méthode splice renvoie un tableau
push accepte des paramètres de longueur variable
Vous pouvez utiliser la méthode concat
this.items2 = this.items2.concat(this.items.splice(0 , 1) );

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal