Angular - 相同视图不同的绑定上下文

时间:2013-08-16 00:40:36

标签: angularjs data-binding knockout.js

仍在努力向Angular过渡,这可能是另一个新型问题,但请耐心等待我 -

在Durandal / Knockout中,我可以使用compose绑定在对象的上下文中显示视图,即。 -

<div data-bind="with: firstPerson">
    <!-- ko compose: 'views/person' --><!-- /ko -->
</div>
<div data-bind="with: secondPerson">
    <!-- ko compose: 'views/person' --><!-- /ko -->
</div>

显示绑定到两个单独的Knockout对象(observables)的相同视图

但在Angular中,我还没有找到将元素中的所有内容绑定到某个上下文的正确方法。如何显示具有各种上下文的多个html文件(s?)?

我不认为这是ng-repeat,因为它不是一个对象数组,它是同一个对象上的两个独立属性,即 -

  1. ParentObject
    • 第一人称
    • SecondPerson
  2. 修改

    显然,对于Durandal和Knockout,我可以使用类似

    的东西
    <span data-bind="text: fullName"></span>
    

    在人物视图的内部而不必定义它所属的哪一个父项,如何在Angular中实现?

1 个答案:

答案 0 :(得分:1)

您可以使用ng-include来实现这一目标。

<ng-include ng-init="person=firstPerson"  ng-model="person" src="'/views/person.html'"/>
<ng-include ng-init="person=secondPerson" ng-model="person" src="'/views/person.html'"/>

person.html可能看起来像

<div class="modal-body">
   {{person.firstName}}, {{person.lastName}}
</div>

因此,您可以使用相同的模型person来引用不同的数据模型(firstPersonsecondPerson

相关问题