在挖空视图中访问$parent的$parent - 嵌套上下文
Access $parent's $parent in knockout view - nesting context
为简洁起见进行了更新
如何在嵌套的 Knockout foreach/中使用绑定引用$parents的$parent?
例-
<!-- ko foreach: grandParent -->
<tr>
<!-- ko foreach: $parent.parents --> // <-- Doesn't work
<!-- ko foreach: children -->
<td data-bind="if: favToy().name == $parent.$parent.favToy().name">
<span data-bind="text: favToy().name"></span>
</td>
<!-- /ko -->
<!-- /ko -->
</tr>
<!-- /ko -->
源语言
很抱歉这个令人困惑的问题,但我正在尝试达到第二级父级的值以检查当前上下文中的值(如下所示(,仅在与$parent的$parent值匹配时才显示范围(呃!
<!-- ko foreach: grandParent -->
<tr>
<!-- ko foreach: $parent.parents -->
<!-- ko foreach: children -->
<td data-bind="if: favToy().name == $parent.$parent.favToy().name">
<span data-bind="text: favToy().name"></span>
</td>
<!-- /ko -->
<!-- /ko -->
</tr>
<!-- /ko -->
这样做会更容易,但从我所读到的内容来看,这是不可能的,或者我做错了:)
<!-- ko foreach: grandParent -->
<tr>
<!-- ko foreach: $parent.parents -->
<!-- ko foreach: children ? favToy().name == $parent.$parent.favToy().name -->
<td data-bind="text: favToy().name"></td>
<!-- /ko -->
<!-- /ko -->
</tr>
<!-- /ko -->
任何帮助将不胜感激。
使用 $parents
数组,祖父级将$parents[1]
。如果示例中的grandParent
对象是最顶层的父对象,则还可以使用 $root
。
从文档中:
$parents
这是一个表示所有父视图模型的数组:
$parents[0] 是来自父上下文的视图模型(即,它是 同$parent(
$parents[1] 是祖父上下文中的视图模型
$parents[2] 是来自曾祖父母上下文的视图模型
。等等。
$root
这是根上下文中的主视图模型对象,即 最顶层的父上下文。通常是传递给的对象 它等价于 $parents[$parents.length - 1]。
$parentContext.$parent
.
$parentContext
提供了许多有用的属性,例如($data
、$parent
、$index
、...(。
我认为像这样使用noChildContext设置会更容易:
使用"as"而不创建子上下文
as 选项的默认行为是为当前项添加名称,同时仍将内容绑定到该项。但您可能希望保持上下文不变,只设置当前项目的名称。后一种行为可能是未来版本的 Knockout 中的默认设置。若要为特定绑定启用它,请将 noChildContext 选项设置为 true。当此选项与 as 一起使用时,对数组项的所有访问都必须通过给定名称进行,并且$data将保持设置为外部视图模型。例如:
<ul data-bind="foreach: { data: categories, as: 'category', noChildContext: true }">
<li>
<ul data-bind="foreach: { data: category.items, as: 'item', noChildContext: true }">
<li>
<span data-bind="text: category.name"></span>:
<span data-bind="text: item"></span>
</li>
</ul>
</li>
</ul>
在此处阅读更多内容
- 用嵌套函数和默认函数定义函数
- 如何在ReactJS JSX中执行嵌套的if-else语句
- 可以简化嵌套的延迟Q Promises解析吗
- 用于搜索的聚合物嵌套绑定
- 如何使用javascript获取嵌套对象中所有子对象的单个属性
- d3中堆栈函数和嵌套函数之间的差异
- 如何打印嵌套对象的所有值
- JavaScript 中的嵌套函数和 “this” 关键字
- 设置嵌套对象属性的更好方法
- querySelector/getElementByClassName嵌套项的顺序
- 猫鼬在特定记录中查找嵌套记录
- 访问嵌套JSON对象的键,其中键是动态的
- D3嵌套组作为x轴
- Ionic和angularjs嵌套步骤应用程序
- 从多维嵌套json数组创建下拉列表
- 在挖空视图中访问$parent的$parent - 嵌套上下文
- 使用AngularJS的JSON: parent在嵌套的ng-repeat中
- 嵌套对象中$parent的淘汰问题
- AngularJS嵌套作用域并更改$parent作用域变量
- 在Angular中,嵌套指令重复,如果parent是$last,则传递