【问题标题】:I want to show only 2 names at a time from a list and then clicking on a button next 2 names comes up but there is a bug我想从列表中一次只显示 2 个名称,然后单击一个按钮,出现下一个 2 个名称,但有一个错误
【发布时间】:2014-09-13 07:11:30
【问题描述】:

我只想显示数组中存在的前 2 个东西,而不是全部,然后通过单击按钮,下一个 2 个名称出现到最后一个,但我正在尝试的代码不起作用。我正在提供代码,请告诉错误。你能帮我纠正一下knoctout js的代码吗?

在 Javascript 中

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

在html中

div class="slide">
    <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())">
            <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>

【问题讨论】:

标签: html css knockout.js


【解决方案1】:

这是工作的 HTML:

<div class="slide">
    <button type="button" data-bind="click: readMore, visible: displayCount() < WhoElseAttends().length">Read More</button>
    <ul data-bind="foreach: WhoElseAttends.slice(0, displayCount())">
        <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: WhoElseAttends.length <0">No Attendees</span>                    
</div>

以及随附的 Knockout 视图模型:

function viewModel() {
    this.displayCount = ko.observable(2);

    this.readMore = function() {
        this.displayCount(this.displayCount() + 2);
    };

    this.WhoElseAttends = ko.observableArray([]);

    for (var i = 0; i < 10; i++) {
        this.WhoElseAttends.push({FirstName : "John", LastName : "Smith", Company : "None"});
    }
}

ko.applyBindings(new viewModel());

我还在以下 jfiddle 中呈现了这段代码:http://jsfiddle.net/Bg5CF/17/

【讨论】:

  • 嘿,我的 javascript 还可以吗。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多