Meteor:车把能够结合#if 和#with?
Meteor: Handlebars able to combine #if and #with?
目前,我正在从第三方数据库中提取信息,模板使用该数据。
<template name="dogTypeData">
{{#if userOwnsDog typeOfDog}}
{{#with userOwnsDog typeOfDog}}
// populate info here with user's dog
{{/with}}
{{else}}
You do not own this kind of dog yet!
{{/else}}
{{/if}}
</template>
帮主看看主人是否养过这种狗:
Template.dogTypeData.helpers({
userOwnsDog: function(typeOfDog){
return OwnedDogs.findOne({
type: typeOfDog
});
}
});
我很好奇是否有办法合并 #if
和 #with
语句,或者是否有必要这样做。为了代码简单,只调用 userOwnsDog(typeOfDog)
一次而不是两次。比如,是否有 {{#ifwith}}
类型的语句?
谢谢!
您可以将它们组合起来,因为这里不需要开头的 if
。同样的模板可以改写成这样:
<template name="dogTypeData">
{{#with userOwnsDog typeOfDog}}
// populate info here with user's dog
{{else}}
You do not own this kind of dog yet!
{{/with}}
</template>
另见 this section from Understanding Spacebars。
目前,我正在从第三方数据库中提取信息,模板使用该数据。
<template name="dogTypeData">
{{#if userOwnsDog typeOfDog}}
{{#with userOwnsDog typeOfDog}}
// populate info here with user's dog
{{/with}}
{{else}}
You do not own this kind of dog yet!
{{/else}}
{{/if}}
</template>
帮主看看主人是否养过这种狗:
Template.dogTypeData.helpers({
userOwnsDog: function(typeOfDog){
return OwnedDogs.findOne({
type: typeOfDog
});
}
});
我很好奇是否有办法合并 #if
和 #with
语句,或者是否有必要这样做。为了代码简单,只调用 userOwnsDog(typeOfDog)
一次而不是两次。比如,是否有 {{#ifwith}}
类型的语句?
谢谢!
您可以将它们组合起来,因为这里不需要开头的 if
。同样的模板可以改写成这样:
<template name="dogTypeData">
{{#with userOwnsDog typeOfDog}}
// populate info here with user's dog
{{else}}
You do not own this kind of dog yet!
{{/with}}
</template>
另见 this section from Understanding Spacebars。