recherche

Maison  >  Questions et réponses  >  le corps du texte

javascript - Les données de vue v-for ne peuvent pas être récupérées

La boucle v-for ne peut pas obtenir de données à l'aide de queryselectorall

<p class="content clearfix">
            <ul>
                <li v-for='item in items' :key=item>
                    <p>
                        <img :src="item.picList[0].imgurl"  alt="item.t_name">
                        <p>{{item.title}}</p>
                        <span>{{item.datanum}}张</span>
                    </p>
                </li>
            </ul>
        </p>
created () {
            this.getData();
        },
    methods: {
            getData () {
                let _this = this;
                this.loading = true;
                this.$http.get('web/app/query.do', {
                    params: {
                        'key': '88845608c16c76ef9f4a56b12e3f238be',
                        'pageSize': '10',
                        'a_no': '001',
                        'classify': '01'
                    }
                }).then((res) => {
                    _this.items = res.body.result;
                    _this.waterfull();
                    console.log(_this.items);
                }, (err) => {
                    console.log(err);
                });
            },
            waterfull () {
                var items = document.querySelector('.content');
                var boxes = items.querySelectorAll('li');
                console.log(items);
                // var totalWidth = items.style.width;
                console.log(boxes);
                }

淡淡烟草味淡淡烟草味2725 Il y a quelques jours796

répondre à tous(4)je répondrai

  • 某草草

    某草草2017-06-12 09:33:04

    Comprenez le cycle de vie de l'instance. À l'étape de création, le dom n'a pas encore été rendu

    répondre
    0
  • 迷茫

    迷茫2017-06-12 09:33:04

    La personne ci-dessus a raison, vous pouvez écrire comme ça lors du rendu

    _this.waterfull();
    setTiomout(function(){
        _this.items = res.body.result;
    });

    Cela devrait fonctionner. Sinon, essayez de renseigner une heure dans setTimeout, des millisecondes suffiront

    répondre
    0
  • 天蓬老师

    天蓬老师2017-06-12 09:33:04

    C'est en effet un problème de cycle de vie, mais ce qui me rend le plus confus, c'est que puisque vue est utilisée, pourquoi devons-nous le récupérer via Dom ?

    répondre
    0
  • 怪我咯

    怪我咯2017-06-12 09:33:04

    Vous pouvez utiliser ref pour lier directement les éléments dom, puis utiliser $refs pour fonctionner.

    répondre
    0
  • Annulerrépondre