动态更改控制器

时间:2014-03-24 16:16:53

标签: javascript angularjs

我的主角应用程序中有3个控制器和2个div。让我们说左右div和控制器A,B和C.开始时,我用控制器A设置左div,用控制器B设置右div。我想添加一个改变左div的按钮使用控制器C并运行它。这可能吗?我坚持了三天。我认为这是一个简单的问题,因为它只是改变控制器并重新运行新控制器的问题。

1 个答案:

答案 0 :(得分:0)

我建议你试试Angular UI路由器: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"
        }
      }
    })
});