有時它發生在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。 這是其中之一。 –
這不是一個具有多個數據上下文的控件,即從另一個控件訪問數據上下文。 –