像WPF中的多个数据上下文一样,angularjs支持这种方法吗?

像WPF中的多个数据上下文一样,angularjs支持这种方法吗?,angularjs,wpf,xaml,mvvm,data-binding,Angularjs,Wpf,Xaml,Mvvm,Data Binding,有时在WPF(MVVM)中,UI控件(View/Xaml)有两个DataContext,这就是为什么我们在执行绑定表达式时使用ElementName属性,以便从所需的DataContext中选择绑定属性 我的问题是:我们和Angularjs有这种情况吗?我指的是同一UI元素(Html标记)的两个作用域或DataContext/ng模型(无论什么)。变量$scope相当于.NETDataContext,用于建立在相应Html标记中使用的任何数据绑定表达式的根: function UserContr

有时在WPF(MVVM)中,UI控件(View/Xaml)有两个DataContext,这就是为什么我们在执行绑定表达式时使用ElementName属性,以便从所需的DataContext中选择绑定属性


我的问题是:我们和Angularjs有这种情况吗?我指的是同一UI元素(Html标记)的两个作用域或DataContext/ng模型(无论什么)。变量
$scope
相当于.NET
DataContext
,用于建立在相应Html标记中使用的任何数据绑定表达式的根:

function UserController($scope) {
   $scope.currentUser = {
      firstName: "John",
      lastName: "Doe"
   };
}

function DocumentController($scope) {
   $scope.document = {
      title: "My Document",
      pageCount: 123
   };
}
要将某个控制器与HTML片段关联,必须向其添加ng控制器属性以引用所需的控制器

<div ng-app ng-controller="UserController">
    First Name: <input type=text ng-model="currentUser.firstName"> <br>
    Last Name: <input type=text ng-model="currentUser.lastName"><br>
    Full Name: {{currentUser.firstName}} {{currentUser.lastName}}
</div>

<div ng-app ng-controller="DocumentController">
    Title: <input type=text ng-model="document.Title"> <br>
    Page Count: <input type=text ng-model="document.pageCount"><br>
</div>

名字:
姓氏:
全名:{{currentUser.firstName}{{currentUser.lastName}} 标题:
页数:

WPF控件如何具有两个数据上下文?我在WPF工作了近10年,我从未见过这样的事情。有很多情况会导致这种情况。这是其中之一。这不是一个控件具有多个数据上下文,而是从另一个控件访问数据上下文。抱歉@GlenThomas。我指的是UI控件(在同一个XAML中,视图)。在本例中,firstName对于div不可见,其中ng控制器是DocumentController。在WPF中,我们可以使用该路径元素名访问它。。。。。。那么angularjs呢?我的理解是,您只能访问控制器上的属性,因此您可以将您的用户传递给JavaScript中的文档控制器,以便视图访问它,但不能从HTMLSo访问另一个控制器。因此,我想我们可以看到Xaml提供了比angularjs指令更多的选项?对吗?有关一种方法的详细信息,请参阅,但同样需要一些JS工作