最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

我们如何在Nodejs中使用“查找”来包含部分内容?

IT培训 admin 5浏览 0评论

我们如何在Nodejs中使用“查找”来包含部分内容?

我们使用此语法在运行时包含部分:

{{> (lookup . 'file') }}

file是父文件的var名称。

我试着在文件名中添加一个前缀,所以我尝试了:

  • {{> lookup . 'path/file'}}
  • {{> (lookup . (strmerge 'path/' 'file')) }}注意:我做了一个帮助方法来合并字符串

我试过那些和其他人,但没有任何对我有用。

有谁知道如何做到这一点?

谢谢

回答如下:

在代码{{> (lookup . 'file') }}中,我们告诉Handlebars,我们部分的名称可以在当前上下文对象的file属性中找到。

假设像{ file: 'myPartial' }这样的上下文对象,查找的结果是{{> myPartial }},它告诉Handlebars呈现一个名为“myPartial”的部分。

如果我们想为partial添加一个前缀,那么Handlebars将注册一个名为“path / myPartial”的部分,最简单的方法是将该路径添加到上下文对象中file属性的值。上下文对象将成为:{ file: 'path/myPartial' }

如果由于某种原因,必须将“path /”前缀添加到模板而不是数据,那么我们需要确定从当前数据生成字符串“path / myPartial”的方法。

您的两次尝试都将“file”放在要查找的属性名称中。您的代码将尝试在上下文对象上找到属性path/file,这将失败。我们肯定需要一个帮助器来连接字符串,但它必须将“path /”与file的值连接起来,而不是文字字符串“file”。

为了实现我们的目标,我们将不再需要lookup助手。需要lookup只是因为你不能在Handlebars中写{{> (file) }},因为Handlebars会将file视为助手而不是变量。但是,由于我们使用的是串联助手strmerge,我们可以使用它返回的String作为我们的部分名称,而不需要lookup。正确的代码变为:

{{> (strmerge 'path/' file) }}

值得注意的是,本例中的file不在引号中。它是一个变量,而不是String。

我创建了一个fiddle供您参考。

我们如何在Nodejs中使用“查找”来包含部分内容?

我们使用此语法在运行时包含部分:

{{> (lookup . 'file') }}

file是父文件的var名称。

我试着在文件名中添加一个前缀,所以我尝试了:

  • {{> lookup . 'path/file'}}
  • {{> (lookup . (strmerge 'path/' 'file')) }}注意:我做了一个帮助方法来合并字符串

我试过那些和其他人,但没有任何对我有用。

有谁知道如何做到这一点?

谢谢

回答如下:

在代码{{> (lookup . 'file') }}中,我们告诉Handlebars,我们部分的名称可以在当前上下文对象的file属性中找到。

假设像{ file: 'myPartial' }这样的上下文对象,查找的结果是{{> myPartial }},它告诉Handlebars呈现一个名为“myPartial”的部分。

如果我们想为partial添加一个前缀,那么Handlebars将注册一个名为“path / myPartial”的部分,最简单的方法是将该路径添加到上下文对象中file属性的值。上下文对象将成为:{ file: 'path/myPartial' }

如果由于某种原因,必须将“path /”前缀添加到模板而不是数据,那么我们需要确定从当前数据生成字符串“path / myPartial”的方法。

您的两次尝试都将“file”放在要查找的属性名称中。您的代码将尝试在上下文对象上找到属性path/file,这将失败。我们肯定需要一个帮助器来连接字符串,但它必须将“path /”与file的值连接起来,而不是文字字符串“file”。

为了实现我们的目标,我们将不再需要lookup助手。需要lookup只是因为你不能在Handlebars中写{{> (file) }},因为Handlebars会将file视为助手而不是变量。但是,由于我们使用的是串联助手strmerge,我们可以使用它返回的String作为我们的部分名称,而不需要lookup。正确的代码变为:

{{> (strmerge 'path/' file) }}

值得注意的是,本例中的file不在引号中。它是一个变量,而不是String。

我创建了一个fiddle供您参考。

发布评论

评论列表 (0)

  1. 暂无评论