0
<!-- ko foreach: foos -->
<div>
    <div data-bind="text: name">
    ...
    <nav with: $root>
        <ul data-bind="foreach: foos">
            <!-- 
                I want <li> to  have class="active" if the "parent" name is the same as name in this context
                So something like
                    if $parents[1].name = name
            -->
            <li>
                 <a href="#" data-bind="text: name"></a>
            </li>
        </ul>
    </nav>
    ...
</div>
<!-- /ko -->

有办法吗?我是否使用 KO 的if关键字?还是我只是想错了?

4

1 回答 1

1

您可以访问该$parent变量以实现您想要的。例如:

<li data-bind="css: { active: $parent.name() === name() }"></li>

这是一个实际操作的小提琴(假设您使用了可观察的属性)或这个小提琴(如果您在视图模型上使用常规属性)。

查看Binding Context 文档CSS Binding 文档以获取更多信息。

于 2013-09-15T09:39:12.303 回答