如何找出最初创建淘汰可观察对象的位置(在哪个 .js 文件中)?
How to find out where (in which .js file) a knockout observable is being created initially?
以下 .html
片段检索名为 title
的 ko observable 的值:
<th data-bind="text: title"></th>
只知道.html
文件,有没有办法系统地找出(回溯?),where - 在项目的.js
文件中 - 这个特定的title
observable最初正在创建吗?
如果是这样,如何实现?
淘汰赛 3.4.2
假设您可以 运行 项目,您可以尝试以下步骤(示例使用 Chrome 浏览器):
找到绑定到 observable 的 dom 元素:
- 右键单击元素 -> 检查
- 在元素选项卡中,右键单击元素 -> 复制 -> 复制选择器
为此元素找到一些剔除上下文以发现包含可观察对象的视图模型
- 在控制台中:
ko.contextFor(document.querySelector('<paste element selector>'))
- 浏览
$data
(当前绑定的视图模型)或任何 $parents
(在 foreach-es 的情况下...)以查找包含 observable 的 viemodel 名称
- 复制视图模型的名称
找到包含视图模型的 javascript 文件:
- 在开发工具中按 CTRL-SHIFT-F
- 粘贴 viemodel 名称
在结果 window 中,您将找到包含此视图模型名称(以及可观察对象的声明)的所有文件。
以下 .html
片段检索名为 title
的 ko observable 的值:
<th data-bind="text: title"></th>
只知道.html
文件,有没有办法系统地找出(回溯?),where - 在项目的.js
文件中 - 这个特定的title
observable最初正在创建吗?
如果是这样,如何实现?
淘汰赛 3.4.2
假设您可以 运行 项目,您可以尝试以下步骤(示例使用 Chrome 浏览器):
找到绑定到 observable 的 dom 元素:
- 右键单击元素 -> 检查
- 在元素选项卡中,右键单击元素 -> 复制 -> 复制选择器
为此元素找到一些剔除上下文以发现包含可观察对象的视图模型
- 在控制台中:
ko.contextFor(document.querySelector('<paste element selector>'))
- 浏览
$data
(当前绑定的视图模型)或任何$parents
(在 foreach-es 的情况下...)以查找包含 observable 的 viemodel 名称
- 复制视图模型的名称
- 在控制台中:
找到包含视图模型的 javascript 文件:
- 在开发工具中按 CTRL-SHIFT-F
- 粘贴 viemodel 名称
在结果 window 中,您将找到包含此视图模型名称(以及可观察对象的声明)的所有文件。