我想向angularjs介紹自己。angularjs應用程序的基本行爲和結構
儘管我已經完成了教程並觀看了基本的建築視頻,但我仍然在努力處理大體積應用程序的行爲和體系結構。
我的應用程序有一個包含添加按鈕的菜單欄。如果用戶點擊按鈕,我想要一個對話框彈出。該對話框不是菜單的一部分:
<!-- The menu -->
<header class="mod modHeader" ng-controller="HeaderCtrl">
<div class="modHeader__addProject" ng-click="openAddDialog()">
<i class="icon-plus icon-2x"></i>
</div>
</header>
<!-- the dialog -->
<div class="modNewProject" ng-show="properties.AddDialogVisibility" ng-controller="HeaderCtrl">
<!-- content stripped out -->
</div>
我的目的是要創造我HeaderCtrl
控制的範圍內properties
對象,然後在該按鈕的點擊改變一個布爾值。
// HeaderCtrl
function HeaderCtrl($scope){
$scope.properties = {
"AddDialogVisibility": false
};
$scope.openAddDialog = function() {
$scope.properties.AddDialogVisibility = true;
};
}
現在,有多個問題和疑問:
- 我要HeaderCtrl適用於我的對話,以獲得訪問對象的屬性。這對我來說很討厭,HeaderCtrl應該只控制我的頭文件模塊,不是嗎?
- 該對話框不會在點擊時顯示。我發現這是因爲該屬性在頁面加載時只被檢查一次,而且我將不得不使用一個函數。什麼是實現我的目標的正確方法?
結論:
我要說的是,我到可以總結我的問題:
我用一個控制器爲我的網頁的每個部分。他們如何交流?
有沒有AngularJS標籤,因爲這是programmers.SE,不StackOverflow上。我已將此問題標記爲遷移到該社區。 –
此外 - 你的問題是你使用同一個控制器的兩個實例,這意味着他們有兩個不同的範圍。他們不交流。我建議使用單個ng控制器來封裝標題和對話框。 –