在某些事件上加载角度模板

时间:2015-01-22 19:48:25

标签: javascript angularjs

我对角度和前端一般都很新,但是我想看到的是类似于ngView给出的路由,但没有路由,即只是在某个事件上加载模板。更具体地说,假设我在标题的某处有一个输入字段,当我点击/聚焦这个字段时,会出现一个带有不同输入选项的特殊面板。诀窍是这个输入字段和其他元素已经是加载到ngView的模板的一部分,因此我理解我不能使用另一个ngView作为选项窗格。

2 个答案:

答案 0 :(得分:0)

使用ngIf,ngShow,ngHide,ngSwitch这样的东西

<button ng-click="showStuff = true">Show Stuff</button>
<button ng-click="showStuff = false">Hide Stuff</button>
<div ng-show="showStuff">Showing Stuff</div>
<div ng-hide="showStuff">Hiding Stuff</div>

查看this plunker快速而肮脏的工作示例。

请注意,showStuff变量只是由根范围上的角度神奇地创建,因为我没有使用控制器。

答案 1 :(得分:0)

您可以使用ng-if和ng-include加载模板,例如example

<body ng-app="app">
  <div class='container'>
    <button ng-click='tmpl = true' class='btn btn-info'>Load template!</button>
    <div ng-if='tmpl'>
      <div ng-include="'template.html'"></div>
    </div>
  </div>
</body>

当参数表达式为true时,ngIf指令将向DOM添加元素。然后,angular将编译内部指令ngInclude,加载模板。