【问题标题】:Data bind loop knockout js , if I want to show only 2 names at a time from a list and then clicking on a button next 2 names comes up数据绑定循环淘汰js,如果我想从列表中一次只显示2个名称,然后单击一个按钮,接下来会出现2个名称
【发布时间】:2014-07-22 13:42:14
【问题描述】:

我只想显示数组中存在的前 2 个东西,而不是全部,然后单击按钮,下一个 2 个名称出现到最后一个,你能帮我纠正 knoctout js 的代码吗?

<div class="slide">
    <button type="button" onclick="alert('Hello world!')" style="margin-top: -50px;margin-bottom: 1px;margin-left: 1020px;padding-right:5px;">Read more</button>
        <ul data-bind="foreach:EventBE.WhoElseAttends">
            <li >
                <span data-bind="text:FirstName"></span>
                <span data-bind="text:LastName"></span>,
                <span data-bind="text:Company"></span>
            </li>
        </ul>                  
  <span data-bind="if:EventBE.WhoElseAttends.length <0">No Attendees</span>                    
            </div>

【问题讨论】:

    标签: css html knockout.js


    【解决方案1】:

    在 Javascript 中

    EventBE.displayCount = ko.observable(2);
    EventBE.readMore = function() { EventBE.displayCount(EventBE.displayCount() + 2); };
    

    在 HTML 中

    <button type="button" data-bind"click: EventBE.readMore,
      visible: EventBE.displayCount() < EventBE.WhoElseAttends.length">Read More</button>
    
    <ul data-bind="foreach:EventBE.WhoElseAttends.slice(0, EventBE.displayCount())">
    

    这只是一个示例,当WhoElseAttends 发生变化时,您可能还需要使用订阅者来重置displayCount

    如果你的WhoElseAttendsobservableArray,你需要把EventBE.WhoElseAttends.length改成EventBE.WhoElseAttends().length

    【讨论】:

      猜你喜欢
      • 2014-09-13
      • 1970-01-01
      • 2013-02-17
      • 1970-01-01
      • 2021-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-29
      相关资源
      最近更新 更多