Pertanyaan Perilaku KRL yang aneh untuk masing-masing orang


Saya telah mendapatkan beberapa perilaku aneh menggunakan foreach hari ini. Saya punya dataset itu menarik dokumen JSON. Bagian dari itu adalah array, yang saya pick() keluar dan kirim ke foreach. Inilah blok global saya:

global {
  dataset appserver <- "http://imaj-app.lddi.org:8010/list/popular" cachable for 1 hour;
  popular = appserver.pick("$..images")
}

Ada satu aturan pertama yang mengatur halaman. Terlihat seperti ini:

rule setup {
  select when web pageview "www\.google\.com"

  pre {
    imagelist = <<
      <div id="462popular" style="margin-left:auto;margin-right:auto;width:450px">
        <p>Popular images from the CS 462 <a href="http://imaj-web.lddi.org/">Image Project</a></p>
        <span class="image"></span>
      </div>
    >>;
  }

  prepend('#footer', imagelist);
}

Dan inilah aturan yang tidak berfungsi:

rule images {
  select when web pageview "www\.google\.com"
  foreach popular setting (image)

  pre {
    thumburl = image.pick("$..thumburl");
    viewurl = "http://imaj-web.lddi.org/view?imagekey=" + image.pick("$..imagekey");
    html = <<
      <span class="image"><a href="#{viewurl}"><img src="#{thumburl}" style="border:none"/></a></span>
    >>;
  }

  after('#462popular .image', html);
}

Saya mendapatkan sesuatu seperti ini (perhatikan seberapa kecil jempol scrollbarnya):

Lots of images

Ada ide apa yang terjadi di sini?


4
2018-02-13 02:58


asal


Jawaban:


Anda memiliki masalah rekursi dengan struktur html Anda dan pemilih selepas Anda untuk memasukkan konten baru.

Pemilih Anda untuk memasukkan konten baru

#462popular .image

yang artinya isi dari html akan disisipkan setelah setiap elemen dengan kelas gambar di dalam elemen dengan id # 462popular.

Di dalam html yang Anda masukkan, Anda memiliki elemen dengan nama kelas gambar yang berarti Anda mengalikan jumlah elemen dengan kelas gambar di dalam # 462popular setiap kali Anda melewati pengulangan.

:)


3
2018-02-13 03:29