Javascript Knockoutjs:跟踪递归深度?

Javascript Knockoutjs:跟踪递归深度?,javascript,recursion,knockout.js,Javascript,Recursion,Knockout.js,我使用的是一个递归模板,可以很快总结如下: <script id="template-name" type="text/html"> <div data-bind="foreach: $data"> <span data-bind="text: title"></span> <div data-bind="template: { name: 'template-name', data: children

我使用的是一个递归模板,可以很快总结如下:

<script id="template-name" type="text/html">
    <div data-bind="foreach: $data">
        <span data-bind="text: title"></span>
        <div data-bind="template: { name: 'template-name', data: children }"></div>
    </div>
</script>

<div data-bind="template: { name: 'template-name', data: $data }"></div>

然而,我想做的是以某种方式跟踪当前的递归深度。我将如何使用淘汰法来实现这一点?
我尝试过很多方法,但我对击倒技术还不够熟悉,不知道我在哪里犯了错误

<script id="template-name" type="text/html">
    <div data-bind="foreach: $data[0]">
        <span data-bind="text: $data[1].toString()"></span>:<span data-bind="text: title"></span>
        <div data-bind="template: { name: 'template-name', data: ko.observableArray([children, ++$data[1]]) }"></div>
    </div>
</script>

<div data-bind="template: { name: 'template-name', data: ko.observableArray([$data, 0]) }"></div>

:

一旦我找到了调试当前上下文的方法,这个问题就很容易解决了。您可以使用,也可以使用

<pre data-bind="text: ko.toJSON($data, null, 2)"></pre>

最后,我使用的语法是

<script id="template-name" type="text/html">
    <div data-bind="foreach: $data.children">
        <span data-bind="text: $parent.depth"></span>:<span data-bind="text: title"></span>
        <div data-bind="template: { name: 'template-name', data: { children: children, depth: ($parent.depth + 1) } }"></div>
    </div>
</script>

<div data-bind="template: { name: 'template-name', data: { children: $data, depth: 0 } }"></div>

:

有趣的一个。我从不使用模板,但很高兴知道这方面的一些事情。