簡體   English   中英

迭代從HandlebarsHelper返回的數組

[英]Iterating over array returned from HandlebarsHelper

我的HBS文件中有兩個屬性。 第一個是用戶授權的角色,第二個是數據庫中可用的所有角色。 如果用戶具有角色(在value參數中),則將這兩個角色都發送給HBS助手並進行比較,如果用戶沒有角色,則將它們添加到一個名為roleArray的新數組中。 roleArray中角色的角色數組( option參數)。

我不知道如何在返回數組時對其進行迭代。

file.hbs

{{selected properties.roles properties.user.roles ../stateSelected}}

快車setup.js

hbs.registerHelper('selected', function(option, value){

    var i;
    var j;
    var roleName;
    var userRole;
    var roleArray = [];

    //Roles the user has
    for(i = 0; i < value.length; i++){
        userRole = value[i].rolename;
        roleArray.push(userRole);
    }

    //Roles in the database
    for(j = 0; j < option.length; j++){
        roleName = option[j].rolename;

        if(roleArray.includes(roleName)){
            //Nothing happens
      }else  {
            roleArray.push(roleName);
       }
    }
    return roleArray;     
 });

所以我想做的是遍歷前端返回的roleArray並顯示它們。 最終,助手將返回一個包含選定屬性的對象數組,以便我可以根據用戶是否具有該角色來顯示切換按鈕的打開或關閉狀態,但是現在僅顯示它們就可以了。

謝謝。

如果您的車把版本支持子表達式,請執行以下操作:

{{#each (selected properties.roles properties.user.roles ../stateSelected)}}
    do stuff here
{{/each}}

如果不是,則npm上有一個使用相同語法的子表達式幫助程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM