0

我正在尝试为 John Papa 的 Code Camper 项目添加一个新视图。我被困在简单的哈希导航绑定上。我的问题是如何找到填充 {href: favorites} 的代码?它使用井号标签 #/favorites 填充,但我找不到发生这种情况的位置。有超过 30 个 JS 文件,搜索“收藏夹”会产生太多结果。我已经尝试在我发现“收藏夹”的任何地方添加我的 newview 代码,但没有运气。我得到错误:

消息:ReferenceError:未定义新视图;绑定值:attr: {href: newview}

那么,我怎样才能确定在下面的代码中填充了 {href: favorites} 的内容?我确实知道淘汰赛绑定是如何工作的,只是在项目中找不到代码。除了 John Papa 的 Code Camper 项目和这个特定的代码之外,一般来说,有没有什么工具可以知道绑定在淘汰赛 js 中的位置?

<li class="route-top"><a data-bind="attr: {href: favorites}">Favorites</a></li>

编辑:对于这种情况,我找到了绑定。我认为它不起作用,因为网页卡在缓存中。尽管如此,如果有一种工具或方法可以识别哪些代码绑定到我想知道的属性。

4

1 回答 1

0

您所指的部分是视图的导航链接。这些在 shell 中总是可见的,所以我将它们绑定到 vm.shell.js。shell viewmodel 具有 menuHashes 的属性,这些属性实际上是在配置文件中定义的(它们可能是数据库驱动的)。

在更广泛的范围内,您可以通过查看 binder.js 模块来判断哪些视图绑定到 CodeCamper 中的哪些视图模型。这是敲除绑定链接到 html/views 的地方。

            ko.applyBindings(vm.shell, getView(ids.shellTop));
            ko.applyBindings(vm.favorites, getView(ids.favorites));
            ko.applyBindings(vm.session, getView(ids.session));
            ko.applyBindings(vm.sessions, getView(ids.sessions));
            ko.applyBindings(vm.speaker, getView(ids.speaker));
            ko.applyBindings(vm.speakers, getView(ids.speakers));
于 2012-11-16T05:08:30.817 回答