2 回答

TA貢獻1887條經驗 獲得超5個贊
使用模板引擎傳遞的數據是直接對象,例如{{this.recipe.ingredients}},因此當此對象“ this.recipe.ingredients”轉換為字符串時,它將轉換為“ [[Object object]]”是Object#toString()方法提供的默認字符串響應。您需要做的是首先將您的對象轉換為字符串,然后將其分配給html元素的屬性值。為了進行轉換,您可以使用“ JSON.stringify(this.recipe.ingredients)”,它將整個對象轉換為JSON格式的字符串。我不知道“ Handlebars模板引擎”,但這應該可以工作:{{JSON.stringify(this.recipe.ingredients)}}。是的,您忘記了放置“ =”<input type="hidden" name="recIngredients" value "{{this.recipe.ingredients}}"/>
來將值屬性與其實際值(即“ {{this.recipe。

TA貢獻1804條經驗 獲得超2個贊
實際上說您的代碼按預期工作。在將JAVASCRIPT對象(this.recipe.ingredients)放在隱藏字段中時,我們需要將該JAVASCRIPT對象轉換為字符串值,以便將其作為FORM數據提交。
要進行轉換,您需要創建并注冊如下所示的把手助手
Handlebars.registerHelper('json', function(context) {
return JSON.stringify(context);
});
另外,您需要在如下所示的適當位置使用該幫助程序。
<input type="hidden" name="recIngredients" value="{{json this.recipe.ingredients}}"/>
順便說一句,如果將隱藏字段設置為文本字段,則可以輕松找到問題(我希望)。
添加回答
舉報