Durandal在foreach中构成相同的视图

时间:2017-03-14 12:42:21

标签: html requirejs knockout-2.0 durandal-2.0 aurelia-breeze

我必须在层次结构中编写相同的视图。 亲    - Child1    - Child2

<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激活数据

访问的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

1 个答案:

答案 0 :(得分:0)

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