AngularJS ng-仅包含一次

米科拉·里科夫

ng-include如何使用它的内容仅被加载一次的方式?这是我所拥有的:

<div data-ng-if="%condition-1%" data-ng-include="%url-1%"></div>
<div data-ng-if="%condition-2%" data-ng-include="%url-2%"></div>
<div data-ng-if="%condition-3%" data-ng-include="%url-3%"></div>
...

就我而言,在某个时刻只有一个条件成立。而且任何条件都可以在页面生存期内多次更改其值。因此ng-include将一次又一次加载相同的内容。我如何告诉Angularng-include处理一次-当适当的条件首次变为真时?一次全部加载它们会杀死该页面,因为每个模板都很大。另外,条件更改没有严格的顺序,例如,condition-3在页面生命周期内可能永远不会变为真-我想url-3在这种情况下完全不加载内容。谢谢!

更新是,模板已在缓存中。但是它具有复杂的内部结构,例如对外部图像,iframe等的引用-每当我使用时,所有这些东西都会重新加载ng-include

希伯

您有很多解决方案,但目前只有2个

1°将ng-if替换为ng-show,因为ng-if会删除dom和所有可用的子作用域,从而迫使框架再次提出请求,而如果您使用ng-show,则dom仅会将被隐藏,并且该请求只能发出一次。

2°如果确实需要使用ng-if并且服务器中的内容是静态的,则可以通过手动访问angular提供的$ templateCache服务将其缓存在javascript层上,或者如果要加载的内容是html,您可以在javascript层上使用$ templateCache服务,也可以使用ng-template标记预加载该数据。

例子:

<script id="url/you/want.html" type="text/ng-template">
<div>I am preloaded dom that responds to the url/you/want.html 
requests made by this application 
</div>
</script>

干杯

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

AngularJS ng-if变量仅工作一次

来自分类Dev

AngularJS:ng-enter动画仅触发一次

来自分类Dev

在AngularJS中使用嵌套的ng-repeat时,仅显示一次“无结果”

来自分类Dev

在AngularJS中使用嵌套的ng-repeat时,仅显示一次“无结果”

来自分类Dev

在ng-repeat AngularJS中满足ng-if后,对迭代进行计数并仅显示一次计数

来自分类Dev

AngularJS-ng-repeat一次显示一项

来自分类Dev

AngularJS在第一次ng-click时返回undefined

来自分类Dev

显示的AngularJS指令ng-repeat第一次元素

来自分类Dev

ng-repeat仅添加一次项目

来自分类Dev

AngularJS $ timeout循环仅触发一次

来自分类Dev

AngularJS socket.IO Bootstrap Modal仅一次

来自分类Dev

for循环在angularjs中仅运行一次

来自分类Dev

在Angularjs中仅运行一次方法

来自分类Dev

AngularJS-事件仅触发一次

来自分类Dev

AngularJS如何仅一次发送数据(快速按)

来自分类Dev

为什么在使用AngularJS 1.5时第一次不使用ng-if输入指令输入动画?

来自分类Dev

包含ng-include,angularjs的页面

来自分类Dev

AngularJS ng-view动画不会在第一次更改时添加ng-enter类-误解,错误,解决方法?

来自分类Dev

AngularJS运行两次功能,尽管控制器仅被启动一次

来自分类Dev

ng-quill文本编辑器仅更新一次

来自分类Dev

一次角度ng重复动画

来自分类Dev

仅调用一次/将$ http中的数据缓存到AngularJS服务中

来自分类Dev

指令中的Angularjs(1.4.0-5 beta)超时仅适用一次

来自分类Dev

AngularJS $ scope变量仅通过HTTP GET设置一次

来自分类Dev

在AngularJS中仅注册一次事件监听器

来自分类Dev

Angularjs的$ http.get在IE11中仅执行一次

来自分类Dev

AngularJS和BootstrapUI:“按按钮切换”选项仅起作用一次

来自分类Dev

从.NET控制器生成的AngularJS视图仅执行一次

来自分类Dev

我如何让我的angularjs工厂仅获取一次HTTP数据?

Related 相关文章

  1. 1

    AngularJS ng-if变量仅工作一次

  2. 2

    AngularJS:ng-enter动画仅触发一次

  3. 3

    在AngularJS中使用嵌套的ng-repeat时,仅显示一次“无结果”

  4. 4

    在AngularJS中使用嵌套的ng-repeat时,仅显示一次“无结果”

  5. 5

    在ng-repeat AngularJS中满足ng-if后,对迭代进行计数并仅显示一次计数

  6. 6

    AngularJS-ng-repeat一次显示一项

  7. 7

    AngularJS在第一次ng-click时返回undefined

  8. 8

    显示的AngularJS指令ng-repeat第一次元素

  9. 9

    ng-repeat仅添加一次项目

  10. 10

    AngularJS $ timeout循环仅触发一次

  11. 11

    AngularJS socket.IO Bootstrap Modal仅一次

  12. 12

    for循环在angularjs中仅运行一次

  13. 13

    在Angularjs中仅运行一次方法

  14. 14

    AngularJS-事件仅触发一次

  15. 15

    AngularJS如何仅一次发送数据(快速按)

  16. 16

    为什么在使用AngularJS 1.5时第一次不使用ng-if输入指令输入动画?

  17. 17

    包含ng-include,angularjs的页面

  18. 18

    AngularJS ng-view动画不会在第一次更改时添加ng-enter类-误解,错误,解决方法?

  19. 19

    AngularJS运行两次功能,尽管控制器仅被启动一次

  20. 20

    ng-quill文本编辑器仅更新一次

  21. 21

    一次角度ng重复动画

  22. 22

    仅调用一次/将$ http中的数据缓存到AngularJS服务中

  23. 23

    指令中的Angularjs(1.4.0-5 beta)超时仅适用一次

  24. 24

    AngularJS $ scope变量仅通过HTTP GET设置一次

  25. 25

    在AngularJS中仅注册一次事件监听器

  26. 26

    Angularjs的$ http.get在IE11中仅执行一次

  27. 27

    AngularJS和BootstrapUI:“按按钮切换”选项仅起作用一次

  28. 28

    从.NET控制器生成的AngularJS视图仅执行一次

  29. 29

    我如何让我的angularjs工厂仅获取一次HTTP数据?

热门标签

归档