1
我在我的主角應用程序中有3個控制器和2個div。讓我們說左邊和右邊的div和控制器A,B和C.在開始時,我用控制器A設置左邊的div,用控制器B設置右邊的div。我想添加一個按鈕來改變左邊的div來使用控制器C並運行它。這可能嗎?我堅持了三天。我認爲這是一個簡單的問題,因爲這只是改變控制器並重新運行新控制器的問題。動態更改控制器
我在我的主角應用程序中有3個控制器和2個div。讓我們說左邊和右邊的div和控制器A,B和C.在開始時,我用控制器A設置左邊的div,用控制器B設置右邊的div。我想添加一個按鈕來改變左邊的div來使用控制器C並運行它。這可能嗎?我堅持了三天。我認爲這是一個簡單的問題,因爲這只是改變控制器並重新運行新控制器的問題。動態更改控制器
我建議你去嘗試AngularUI路由器:https://github.com/angular-ui/ui-router
你的情況,你可以有兩種狀態,它都具有相同的模板,但不同的控制器。
例子:
myApp.config(function($stateProvider) {
$stateProvider
.state('route1', {
url: "/route1",
views: {
"viewA": {
templateUrl: "templates/a.html",
controller: "AController"
},
"viewB": {
templateUrl: "templates/b.html",
controller: "BController"
}
}
})
.state('route2', {
url: "/route2",
views: {
"viewA": {
templateUrl: "templates/a.html",
controller: "CController"
},
"viewB": {
templateUrl: "templates/b.html",
controller: "BController"
}
}
})
});
謝謝。在我的情況下,模板和控制器也不同。昨天,我嘗試了角度路線。它的工作原理,但它重新加載左側和右側。我只需要加載其中的一個。例如,對於路由收件箱,我將在左側顯示它,並在右側顯示另一個功能。可能嗎?我是angularjs的新手。 – Bharata
我認爲有可能使其中一個視圖不能重新加載,但在這種情況下,不會重新加載的狀態必須是另一個狀態的父狀態。這意味着,該div模板必須在右div模板內(使用ui-view指令)。 – brisky
謝謝你的解釋。我說錯了。兩個視圖都動態變化,但取決於菜單。如果點擊某個菜單,則會更新左側。如果是另一個,它會更新權利。也許你可以把它想象成一個電子郵件查看器。左側是列表,右側是左側點擊的內容。但是,它添加了一個菜單,可以在左側或右側顯示另一個「頁面」。基本上,如果點擊某個菜單,我只想定義哪一方將被更新以及將顯示哪些內容。 – Bharata