我是Ionic的新手,一直在想"全局控制器"的"角度"方式。
在我的应用中,我使用的是初学者选项卡模板,并且我希望有一个栏,当用户在我的应用中闲逛时,我想与之交互。这个栏将放置在我的index.html
中,如下所示。
index.html
<ion-nav-view></ion-nav-view>
<div id="my-player" class="idle">
<round-progress background-image="{{roundBg}}" background-repeat="no-repeat" background-position="center" background-size="contain" radius="23" stroke="5"></round-progress>
</div>
我希望在用户使用应用程序时修改此div#my-player
。
#my-player
的初始状态将被隐藏,我将通过 css 类 .idle
来实现。但是当用户进入我的/#/tabs/replay/{:id}
页面并单击某个项目时,我想添加一个angularAudioObject
并以#my-player
显示音频信息。
我发现一遍又一遍地重复相同的代码效率非常低,所以我想知道是否有一种方法可以保持这种音频控制代码可以编写一次,而不是在我的所有控制器中调用。
附言是的,我知道服务以及如何将它们包含在我的控制器中,但我想知道是否有办法将此代码"似乎集成到"我的index.html
文件中。
哪个文件中包含代码并不重要,只需加载和执行该文件即可。 也就是说,您应该使用服务或工厂来定义要在应用程序的生命周期中保留的对象,以及任何本来会重复的代码(假设它不是作为过滤器或指令更有意义的东西)。
控制器是临时的,它们是在导航视图时创建和销毁的。 你可以在 ui-views 之外拥有一个控制器,它可以是所有其他控制器的父控制器,但这实际上是一种脆弱的构建方式。 而是利用简单的 DI。