我非常理解为什么你会check()
方法和出版物参数服务器,但为什么你需要在客户端数据时,考虑到它可能在每个级别都被篡改?
我看到那是别人的代码,我想知道是否有充分的理由。
例如:
Template.MyTemplate.onCreated(function() {
check(this.data.arg1, String);
check(this.data.arg2, String);
this.subscribe('mysub', this.data.arg1);
});
答案 0 :(得分:2)
你可以(应该)这样做
在重构会话后强制执行一致的行为(如果更改了模板输入的名称或类型,则会抛出错误)
与其他开发人员一起工作时强制执行所需的模板数据,以便在输入错误输入模板时出错
在创建许多互相交互的复杂模板时强制执行所需的模板数据,与上面的点基本相同
在客户端创建第一个输入过滤器,例如当此模板需要用户输入作为其订阅的参数时(注意,这不是安全功能,但它可以改善UX)
将此与UI测试结合使用,以便在代码更改后揭示错误并使您的UI更加健壮。
当然你可以让check
退出并让错误抛出到其他地方的组件代码中,但是你可以在创建级别上立即隔离错误。