Durandal 在 foreach 中组成相同的视图

Durandal composing same view in foreach

我必须在层次结构中组合相同的视图。 Parent - 孩子 1 - 孩子 2

<div id="divParent" data-bind="with: ParentObs">
   <section data-bind="compose: { view: '../views/header', model: '../viewmodels/header', activate: true, cacheViews: false , preserveContext: true, activationData: id}"></section>

   <div id="idChild" data-bind="ChildObs">
       <section data-bind="compose: { view: '../views/header', model: '../viewmodels/header', activate: true, cacheViews: false , preserveContext: true, activationData: id}"></section>
   </div>
</div>

ParentObs和childObs中的属性是一样的。只是 ParentObs 包含子项列表。 属性是我使用 id 激活 Data

访问的 firstName 和 lastName

现在我在组合视图中绑定它

问题是绑定到组合视图的最后一个 ID 反映在整个组合视图中。 我想要显示不同的数据。

如何实现。

header.html

<span data-bind="text: Properties().firstName"></span>
<span data-bind="text: Properties().lastName"></span>

header.js

define([],function(){
  var Properties = ko.observable();
  var activate = function(Id){
    Properties(getDataById(Id));
 }
});

getDataById 是一个轻而易举的调用

I have the same problem mentioned in this link. Can't understand the solution proposed

使用瞬态视图模型。 参考 url: http://www.lobsterfs.co.uk/blog/singleton-transient-durandal/