0

我正在尝试将 aforeach与 Bootstrap btn 组中的静态元素混合,因为我希望某些按钮成为未来选项的占位符。所以我这样设置:

<div class="btn-group pull-right">
    <span data-bind="foreach: router.visibleRoutes">
        <a data-bind="css: { active: isActive }, attr: { href: hash }, text: name" href="#" class="btn btn-info"></a>
    </span>
    <div class="btn btn-info">Future Option</div>
    <div class="btn btn-info">Future Option</div>
</div>

但是,这会导致foreach使用btn-group. span中断正常的按钮组样式。我还尝试了无容器组合:

<div class="btn-group pull-right">
    <!-- ko foreach: router.visibleRoutes -->
        <a data-bind="css: { active: isActive }, attr: { href: hash }, text: name" href="#" class="btn btn-info"></a>
    <!-- /ko -->
    <div class="btn btn-info">Future Option</div>
    <div class="btn btn-info">Future Option</div>
</div>

但是span渲染时会产生相同的标签,所以效果是一样的。如果我将divforeach放在btn-groupdiv 上,那将导致静态元素对 each 重复router.visibleRoutes,这是不可接受的。有没有办法解决?

4

1 回答 1

1

看来您的第二种方法有效。会不会是浏览器缓存问题?

见 jsfiddle:http: //jsfiddle.net/ptw8a/

<!-- ko foreach: visibleRoutes -->
    <a data-bind="css: { active: isActive }, attr: { href: hash }, text: name" href="#" class="btn btn-info"></a>
<!-- /ko -->

我找不到您的第二种方法会生成跨度对象的任何原因。

于 2013-03-31T02:50:44.630 回答