【问题标题】:How to get the current object in for loop in JsRender如何在 JsRender 的 for 循环中获取当前对象
【发布时间】:2013-06-20 04:12:31
【问题描述】:

我想要在 JsRender 的 for 循环中设置为复选框值的当前对象。下面是我的代码。

{{for data.UserConnection}}
  <li>
    <input name="checkboxlist" class="profilechkbox" type="checkbox" value={{:#view}} /><br />
    <a onclick="stateManager.renderSelectedProfileForInviteGroup({{:#index}})" title="{{:Fullname}}" class="active" href="#" >
      <img  src="{{:userDetails.ImagePath}}" width="40" height="40" /><br />
      {{:Fullname}}
    </a>
  </li>
{{/for}}

我将值设置为{{:#view}} 以获取当前对象。但我收到[object object]。如果我在这里做错了,请纠正我。

【问题讨论】:

    标签: jquery jsrender


    【解决方案1】:

    JsRender 中的#view 是当前数据对象。

    通过编写{{:#view}},您试图显示对象,该对象将在浏览器中显示为[object Object]

    试试{{:#view.data.yourattribute}}

    【讨论】:

    • 嗨 Anirudh,我想要完整的对象而不是属性。通过上面的代码,我完全想要 userconnection 对象。
    • 你想如何将一个完整的对象显示为一个复选框的值?您可以将对象转换为字符串或布尔值,或者获取对象的布尔值或字符串值属性。否则结果将是字符串转换,如 [object Object]。 {{:myAttribute}} 或 {{:~myconverterhelper(#data)}} 或 {{myconverter:#data}} 都是可能的。 #data 等价于 #view.data。
    【解决方案2】:

    我需要在循环中呈现当前对象的动态命名属性。为此,您可以创建一个函数来在视图模型(对象)中设置当前实例,并通过调用模型中的另一个函数来获取当前实例的动态命名属性的值。请看我的小提琴JsRender Dynamically Named Props。 灵感:John Papa's fiddle.

    <tbody>
        {{for markets}}  
        {{:~SetInstanceFunc()}}
        <tr>
            <td>{{:id}}</td> <td>{{:market}}</td>
            {{for #parent.parent.data.years}}      
            <td>{{:~GetYearPropFunc('min', #data)}} </td>
            <td>{{:~GetYearPropFunc('max', #data)}} </td>
            {{/for}}
        </tr>
        {{/for}}
    </tbody>
    

    这里是java脚本:

    var vm = {
      years: years, 
      markets:markets,
      instance:{},
      setInstance: function(){
        instance = this.data;
      },
      getYearProp: function(text, year){
        if(!instance) return '';
        return instance[(text + year)] || '';
        }
    };
    $.views.helpers({
      GetYearPropFunc: vm.getYearProp,
      SetInstanceFunc: vm.setInstance
    });
    

    【讨论】:

      【解决方案3】:

      渲染当前对象:

      {{for #data }} 
          {{:attribute1}}
          {{:attribute2}}
          ...
      {{/for}}
      

      【讨论】:

        猜你喜欢
        • 2023-04-05
        • 1970-01-01
        • 2013-09-06
        • 2023-01-23
        • 2023-03-15
        • 1970-01-01
        • 1970-01-01
        • 2020-12-18
        • 1970-01-01
        相关资源
        最近更新 更多