2016-11-21 47 views
0


我正在嘗試使用流星創建html下拉菜單。
我創建了一個select元素,然後使用助手嘗試在下拉列表中列出省份名稱。這裏的main.html中使用流星創建html下拉菜單

<template name="signup"> 
    <select> 
     {{#each province}} 
      {{> provinceTemplate}} 
     {{/each}} 
    </select> 
</template> 

<template name="provinceTemplate"> 
    <option>{{provinceName}}</option> 
</template> 

這是main.js

Template.body.helpers({ 
    province:[ 
    {provinceName: 'Tehran'}, 
    {provinceName: 'Isfahan'}, 
    {provinceName: 'Yazd'}, 
    {provinceName: 'Shiraz'}, 
    {provinceName: 'Kerman'}, 
    ], 
}); 

我只是使用助手來塑造下拉。
但是當我運行它時,select標籤內沒有任何內容。

謝謝你們......

+0

現在我明白什麼是錯的,問題是你在'定義'province'幫手body'模板,但是你可以在'signup'模板中使用它。將'省'助手移至'註冊'模板 – Khang

回答

0

我找到了答案......你不應該調用模板({{> TemplateName}})在另一個模板中...只要我將代碼從第一個模板中取出,它就開始工作。 下面的代碼是錯誤的...

<body> 
     {{> firstTemplate}} 
    </body> 

    <template name="firstTemplate"> 
     ... 
     {{> secondTemplate}} 
     ... 
    </template> 

    <template name="secondTemplate"> 
     ... 
    </template> 

而下面的代碼工作...

<body> 
    ... 
    {{> secondTemplate}} 
    ... 
</body> 
<template name="secondTemplate"> 
    ... 
</template> 
0

試試這個代碼:

Template.body.helpers({ 
    province() { 
    return [ 
     {provinceName: 'Tehran'}, 
     {provinceName: 'Isfahan'}, 
     {provinceName: 'Yazd'}, 
     {provinceName: 'Shiraz'}, 
     {provinceName: 'Kerman'}, 
    ]; 
    }, 
}); 
+0

不...沒有幫助! @Khang –

+0

您是否在瀏覽器控制檯上看到任何錯誤消息?試試把'console.log'放在'''helper'函數中,檢查它是否真的運行。 – Khang

+0

該函數存在幷包含對象(省名),但下拉菜單中不包含任何名稱,並且爲空。 @khang –

0

你叫的<body><select>?這應該工作:

main.html中

<body> 

<select> 
    {{#each province}} 
    {{> provinceTemplate}} 
    {{/each}} 
</select> 

</body> 

<template name="provinceTemplate"> 
    <option>{{provinceName}}</option> 
</template> 

Main.js

Template.body.helpers({ 
    province:[ 
    {provinceName: 'Tehran'}, 
    {provinceName: 'Isfahan'}, 
    {provinceName: 'Yazd'}, 
    {provinceName: 'Shiraz'}, 
    {provinceName: 'Kerman'}, 
    ]; 
});