像WPF中的多个DataContexts一样,angularjs是否支持这种方法?

时间:2016-04-05 13:26:37

标签: angularjs wpf xaml mvvm data-binding

有时它发生在WPF(MVVM)中,UI控件(View / Xaml)有两个DataContexts,这就是为什么我们在执行Binding Expression时使用ElementName属性,所以我们从想要的DataContext中选择Binded属性。

我的问题是:Angularjs有这种情况吗?我指的是同一个UI元素(Html标签)的两个范围或datacontexts / ng-models(Whatever)。

1 个答案:

答案 0 :(得分:0)

$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-controller属性以引用所需的控制器。

<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>