有时它发生在WPF(MVVM)中,UI控件(View/Xaml)有两个DataContexts,这就是为什么我们在执行绑定表达式时使用ElementName属性,所以我们从所需的DataContext中选择Binded属性。像WPF中的多个DataContexts一样,angularjs是否支持这种方法?
我的问题是:Angularjs有这种情况吗?我的意思是两个范围或datacontexts/ng-models(无论)为同一个UI元素(Html标记)。
有时它发生在WPF(MVVM)中,UI控件(View/Xaml)有两个DataContexts,这就是为什么我们在执行绑定表达式时使用ElementName属性,所以我们从所需的DataContext中选择Binded属性。像WPF中的多个DataContexts一样,angularjs是否支持这种方法?
我的问题是:Angularjs有这种情况吗?我的意思是两个范围或datacontexts/ng-models(无论)为同一个UI元素(Html标记)。
的$scope
变量是被用于建立任何数据绑定表达式,其在相应的HTML标记中使用根目录的.NET DataContext
相当于:
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>
在此示例中,firstName对于ng控制器为DocumentController的div不可见。在WPF中,我们可以使用Path ElementName访问它......那么angularjs呢? –
我的理解是,您只能访问控制器上的属性,所以也许您可以将您的用户传递给JavaScript中的文档控制器以供视图访问,但不能从HTML –
访问其他控制器。 Xaml可以提供更多选项,然后使用angularjs指令?对 ? –
WPF控件如何具有两个数据上下文?我已经使用WPF将近10年了,而且我从未见过这样的事情。 –
这种情况有很多种情况。 http://stackoverflow.com/questions/15498890/multiple-datacontext-for-one-control-mvvm。 这是其中之一。 –
这不是一个具有多个数据上下文的控件,即从另一个控件访问数据上下文。 –