根据下拉列表中的选择动态加载角度视图

时间:2014-10-10 21:09:37

标签: angularjs

以下是我想用Angular完成的事情,但我不确定它是否可能。

我的表单将由3个视图/模板组成,每个视图/模板都有自己的控制器。修复了两个视图,第三个视图需要通过基于从一个固定视图中的下拉列表中选择的值动态加载。视图和控制器名称将基于所选值派生。如果可能的话,我也想为所选视图的控制器动态加载javascript。

我在Angular 2.0中听到了一些关于这个的谣言,但我不确定如何处理它。

有什么想法?我不会被Angular困住,所以如果在这种情况下另一个框架会更好用,请告诉我。

1 个答案:

答案 0 :(得分:1)

除非您在谈论ng-route和$ routeProvider,否则您可以使用ng-include 通过将ng-include设置为动态,您的html将被下载并替换该部分。

注意:但是,ng-include不允许在其中包含脚本标记。 你需要使用自己的指令。

这是使用ng-include的例子, http://plnkr.co/edit/nlGVNfSpJOjIfIXxpEKc?p=preview

  <body ng-app ng-init="dynamic='1.html'">
    <select ng-model="dynamic">
      <option value="1.html">dynamic 1</option>
      <option value="2.html">dynamic 2</option>
      <option value="3.html">dynamic 3</option>
    </select>
    dynamic: {{dynamic}}
    <div>Fixed 1</div>
    <div>Fixed 2</div>
    <div ng-include="dynamic"></div>
  </body>