如何以编程方式/动态更改视图?

时间:2013-04-16 19:53:10

标签: angularjs

我希望有一个“向导”,其中屏幕在此过程中会发生几次变化。我想为此利用Angular的控制器。但是,我无法弄清楚如何更改以编程方式显示的视图。

看起来我可以定义任何$scope.setView('/path/to/my/view.htm')种类。

2 个答案:

答案 0 :(得分:4)

您将要了解ngView => http://code.angularjs.org/1.1.4/docs/api/ng.directive:ngView

这样您就可以使用$ route配置部分内容的显示。您需要声明模板选项,如:

$routeProvider.when('/path', {
  templateUrl: '/path/to/my/view.htm',
}

另一种选择是使用ngSwitch => http://code.angularjs.org/1.1.4/docs/api/ng.directive:ngSwitch

对于一个向导,我认为ngSwitch效率较低,但两者更容易。这听起来像你正在寻找的东西。

“ngSwitch指令用于根据范围表达式在模板上有条件地交换DOM结构。”

答案 1 :(得分:2)

document.location.href ='#/ yourRoute'以编程方式更改路线

如果你想在1个控制器中使用多个视图:定义具有不同视图但具有相同控制器的不同路径