我有observableArray,它的元素是数组。 我需要foreach,但我需要每次只显示observableArray的最后一个元素 - 即最后一个数组。 例如: 我的可观察数组是:
self.treeLists = [
[{id:1, name:'tar'}, {id:9, name:'se'}, {id:5, name:'tzav'}],
[{id:4, name:'sus'}, {id:8, name:'par'}],
[{id:7, name:'tal'}, {id:6, name:'med'}]
];
所以我只需要显示第三个数组 - [{id:7,name:'tal'},{id:6,name:'med'}]
这是我的HTML,但它会导致问题! 它读起来就像我试图在observalbeArray上显示它的元素......
<div data-bind="if: treeLists().length>1">
<div data-bind="foreach: treeLists()[treeLists().length-1]">
<div class="col-md-2">
<div class="organizationTreeItem">
<img class="floutR" data-bind="attr: {src: $parent.global.imagesManager.plusblue}, click:$parent.itemClickPathMode" />
<span data-bind="text:$data.name"></span>
</div>
</div>
</div>
</div>
错误信息是:
1981年第{17}栏第17行未处理的例外情况 0x800a1391 - JavaScript运行时错误:'OrgName'未定义
我可以看到调试时的情况,见图:
答案 0 :(得分:1)
$data
包含最后一个数组的对象,例如:{id:7, name:'tal'}
在HTML中你绑定到$data.OrgName
,但是OrgName不是绑定对象的成员,所以它确实是未定义的,就像异常提到的那样。你的意思是绑定到&#34; name&#34;?
<span data-bind="text:name"></span>
treeLists
也不是observableArray。请查看以下fiddle。