簡體   English   中英

如何在onRendered中的meteor調用中訪問meteor ReactiveVar變量

[英]how to access meteor ReactiveVar variable in meteor call in onRendered

我想在onRendered中獲取ReactiveVar變量獲取錯誤在傳遞調用'getUsersData'的結果時出現異常:TypeError:無法讀取null的屬性'userData'

    Template.editAdmin.onCreated(function() {
     this.userData = new ReactiveVar([]);
   });

   Template.editAdmin.onRendered(function() {
     Meteor.call("getUsersData", this.data, function(err, result) {
        Template.instance().editAdminId.set(result);
      });
   });

看起來您的代碼示例與您的錯誤消息不符。 你提到的錯誤是:

TypeError: Cannot read property 'userData' of null

但從查看您的代碼示例,我可以看到錯誤將是:

TypeError: Cannot read property 'editAdminId' of null

我假設您希望它與userData一起使用,因此我會相應地調整您的代碼。 基本上,您希望確保在Method回調中使用Template.instance()時正確利用javascript閉包。 例如:

Template.editAdmin.onCreated(function () {
  this.userData = new ReactiveVar([]);
});

Template.editAdmin.onRendered(function () {
  const instance = Template.instance();
  Meteor.call("getUsersData", this.data, function (err, result) {
    instance.userData.set(result);
  });
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM