作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我想在 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
一起使用,所以我会相应地调整您的代码。基本上,您要确保在方法回调中使用 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);
});
});
关于javascript - 如何在 onRendered 的 meteor 调用中访问 meteor ReactiveVar 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38994783/
我是一名优秀的程序员,十分优秀!