如何在 JsViews 数据链接方法中访问父数据
How to access parent data in JsViews data-linked method
是否可以从 JsViews 中的数据链接函数访问父数据?
{^{for sections}}
...
{^{for itemTypes}}
<tbody>
<tr>
<td>{^{:label}}</td>
<td>{^{if addable==true}}<button class="btn btn-sm btn-primary" data-link="{on ~addItem}">Add an item</button>{{/if}} </td>
</tr>
</tbody>
{{/for}}
...
{{/for}}
是否可以从 addItem 函数访问部分数据(父级)?
addItem: function(ev, eventArgs) {
var view = eventArgs.view;
var index = view.getIndex();
var parent = ????
...
}
谢谢
文档在几个地方提供了相关信息,例如:
- http://www.jsviews.com/#viewobject@parent
- http://www.jsviews.com/#views@parent-data
- http://www.jsviews.com/#viewobject@get
- http://www.jsviews.com/#views
对于 addItem 方法中的编程访问,您可以使用视图 API 逐步浏览视图层次结构,然后获取数据:
var section = view.parent.parent.data;
或
var section = view.parent.get("item").data;
或者,您可以将部分数据作为上下文参数以声明方式向下传递:
{^{for itemTypes ~section=#data}}
...
<button ... data-link="{on ~addItem ~section}">
那就直接用吧:
addItem: function(section, ev, eventArgs) {
...
}
是否可以从 JsViews 中的数据链接函数访问父数据?
{^{for sections}}
...
{^{for itemTypes}}
<tbody>
<tr>
<td>{^{:label}}</td>
<td>{^{if addable==true}}<button class="btn btn-sm btn-primary" data-link="{on ~addItem}">Add an item</button>{{/if}} </td>
</tr>
</tbody>
{{/for}}
...
{{/for}}
是否可以从 addItem 函数访问部分数据(父级)?
addItem: function(ev, eventArgs) {
var view = eventArgs.view;
var index = view.getIndex();
var parent = ????
...
}
谢谢
文档在几个地方提供了相关信息,例如:
- http://www.jsviews.com/#viewobject@parent
- http://www.jsviews.com/#views@parent-data
- http://www.jsviews.com/#viewobject@get
- http://www.jsviews.com/#views
对于 addItem 方法中的编程访问,您可以使用视图 API 逐步浏览视图层次结构,然后获取数据:
var section = view.parent.parent.data;
或
var section = view.parent.get("item").data;
或者,您可以将部分数据作为上下文参数以声明方式向下传递:
{^{for itemTypes ~section=#data}}
...
<button ... data-link="{on ~addItem ~section}">
那就直接用吧:
addItem: function(section, ev, eventArgs) {
...
}