在空格键模板中传递参数会产生'第一个参数必须是函数'错误

时间:2014-06-29 16:32:41

标签: meteor-blaze spacebars

我试图在EventedMind.com网站和" Shark UI预览中进行讲座:使用包含标签进行渲染"视频我收到此错误:

  
    

第一个参数必须是一个函数,在其余参数上调用;发现STRING

  

在我的code.html文件中的下方星号' d行。我认为我没有包括正确的包裹。以下是我目前使用的套餐

流星列表 - 使用 标准的应用程序的程序包

自动发布 不安全
spacebars-compiler - 无论有没有这个

我都会得到同样的错误

...这是我使用的Meteor版本 流星转化 发布0.8.2

================================ 来自code.html:

<head>
  <title>Rendering with the inclusion tag</title>
</head>

<body>
  {{> hello}}
</body>

<template name="hello">
  <h1>Hello Dan!</h1>

* {{&gt;问候&#34;乔&#34; &#34;史密斯&#34;}}            

<template name="__greeting">
  Greetings!
</template>

==================================== 来自code.js

if (Meteor.isClient) {
  Template.hello.helpers({
    greeting: function(firstName, lastName){
      console.log(firstName, lastName);
      return Template.__greeting;
    }
  });
}

1 个答案:

答案 0 :(得分:1)

它与包没有任何关系。

您的完整错误如下所示:

While building the application:
client/views/pages/test.html:4: First argument must be a function, to be called on the rest of the arguments; found STRING
...type="update"}}  --> {{> greeting "Joe...
                        ^

查看错误消息中的^

它说你{{> greeting之后的第一个参数需要是一个函数。相反,它有一个字符串,"Joe"。所以你没有正确地调用你的空格键助手。

尝试{{> greeting firstName="Joe" lastName="Smith"}}

参考:https://www.discovermeteor.com/blog/spacebars-secrets-exploring-meteor-new-templating-engine/