我想在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);
});
});
Run Code Online (Sandbox Code Playgroud)
您的代码示例似乎与您的错误消息不一致。你提到的错误是:
TypeError: Cannot read property 'userData' of null
Run Code Online (Sandbox Code Playgroud)
但通过查看您的代码示例,我可以看到错误实际上是:
TypeError: Cannot read property 'editAdminId' of null
Run Code Online (Sandbox Code Playgroud)
我假设您希望它与 一起使用userData,所以我将相应地调整您的代码。基本上,您需要确保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);
});
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
854 次 |
| 最近记录: |