如何在不使用 eval() 的情况下获得在 Backbone.js 中执行不同操作的链接?
我有一些链接,我想根据链接执行不同的操作。因此我有一个数据结构:
var data = [{"name":"foo", "onClick":"baz()"}, {"name":"bar", "onClick":"bam()"}];
目前,在视图中我有一个运行函数,它接受该项目并执行 eval(item.onClick) ,并且它有效,只是感觉像是一个安全漏洞。 我可以在渲染视图时将 onClick 放入 html 中,但这感觉不对。
有谁知道有什么方法可以做到这一点?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以在数据中嵌入函数
您可以查看 这里了解更多有用的内容
You can embed function in the data
You can look here for more helpful stuff how to do it
主干视图有一个 delegateEvents 函数:
Backbone views have a delegateEvents function:
很简单——即使您没有为函数调用实现对象容器。
并且,假设您将其作为 JSON 回调:
Easy -- even if you don't implement an object container for your function call.
And, assuming you have this as your JSON callback: