Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Mengakses Kaedah Meteor Dalam Pembantu Templat dan Mengelakkan Rendering Pramatang?

Bagaimana untuk Mengakses Kaedah Meteor Dalam Pembantu Templat dan Mengelakkan Rendering Pramatang?

Mary-Kate Olsen
Lepaskan: 2024-10-29 12:44:29
asal
878 orang telah melayarinya

How to Access Meteor Methods Within Template Helpers and Avoid Premature Rendering?

Mengatasi Percubaan Rendering Pramatang Templat: Mengakses Kaedah dalam Pembantu

Masalah:
Bagaimana anda boleh mengakses kaedah Meteor dalam templat pembantu?

Penyelesaian:

Anda boleh menghadapi isu di mana pembantu templat yang cuba mengakses kaedah bahagian pelayan mungkin gagal kerana templat dipaparkan sebelum kaedah itu boleh ditakrifkan. Untuk menyelesaikan masalah ini, laksanakan langkah berikut:

  1. Gunakan panggilan balik yang dibuat dalam templat untuk menentukan Pembolehubah Reaktif yang akan menyimpan hasil kaedah.
  2. Panggil kaedah dan kendalikan panggilan baliknya dalam panggilan balik yang dibuat.
  3. Tetapkan nilai yang dikembalikan kaedah ke dalam Pembolehubah Reaktif apabila panggil balik.
  4. Dalam pembantu templat, akses nilai Pembolehubah Reaktif. Pembolehubah ini, yang dilampirkan pada contoh templat, akan mencetuskan pembantu untuk memaparkan semula apabila kaedah mengembalikan hasilnya.

Kod Kemas Kini:

<code class="javascript">// client/myView.js
Template.helloWorld.created = function () {
  var self = this;
  self.myAsyncValue = new ReactiveVar("Waiting for response from server...");
  Meteor.call("getAsyncValue", function (err, asyncValue) {
    if (err) console.log(err);
    else self.myAsyncValue.set(asyncValue);
  });
};

Template.helloWorld.helpers({
  txt: function () {
    return Template.instance().myAsyncValue.get();
  },
});</code>
Salin selepas log masuk

Nota Tambahan: Pastikan anda menambah pakej reactive-var menggunakan $ meteor add reactive-var untuk penyelesaian ini berfungsi.

Atas ialah kandungan terperinci Bagaimana untuk Mengakses Kaedah Meteor Dalam Pembantu Templat dan Mengelakkan Rendering Pramatang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan