【问题标题】:Old and new ways for adding meteor helper methods to template将流星辅助方法添加到模板的新旧方法
【发布时间】:2016-05-09 05:45:31
【问题描述】:

我按照 Make Your First Meteor Application 这本书,困惑地找到以下段落:

“首先,我们将采用一种旧方法来创建辅助函数。这种方法已被弃用,这意味着它不再受到官方支持,当您阅读这些文字时,它可能根本不起作用。”同时展示了添加辅助函数的方法:

Template.leaderboard.player = function(){
return "Some other text"
}

不过,当我查看 Meteor 官方文档时,它说:

“每个模板都有一个可用的帮助器本地字典,并且此调用指定要添加到模板字典中的帮助器。

例子:

Template.myTemplate.helpers({
  foo: function () {
    return Session.get("foo");
  }
});"

那么,不推荐使用的方式和新方式之间的唯一区别是通过显式声明所有帮助程序来替换一对一的帮助程序声明?我找不到有关何时以及为何进行此更改的任何信息。

【问题讨论】:

    标签: meteor meteor-helper


    【解决方案1】:

    v0.9.4 中引入了对helpers API 的更改:

    弃用 Template.someTemplate.myHelper = ... 语法以支持 Template.someTemplate.helpers(...)。使用旧语法仍然有效,但会在控制台上显示弃用警告。

    当前版本已经使用了很长一段时间,我还没有看到任何当前教程中使用的旧版本,所以可以忽略它。

    【讨论】:

    • 新旧模板都出现ReferenceError的问题:leaderboard.html:<head> <title>Leaderboard</title> </head> <body> <h1>Leaderboard</h1> {{> leaders}} </body> <template name="leaders"> {{players}} </template>leaderboard.js:/*Template.leaders.players = function() { return "Result of the leaderboard helper function"; }*/Template.leaders.helpers({ players: function () { return "Result"; } });
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-12
    • 2020-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多