我应该从哪里调用警报框,加载窗口-控制器或服务

From where should I call alert boxes, loading windows - Controllers or Services

本文关键字:窗口 加载 控制器 服务 调用 我应该      更新时间:2023-09-26

我正在构建一个Angular Js (Ionic)应用程序。因此,在阅读angularjs开发的最佳实践时,很多资源都说控制器不应该用于Dom交互。目前,ionicloading和ionicpopup调用是由控制器发出的。这些被认为是DOM交互吗?如果是,应该在哪里添加?

在控制器中显示/隐藏弹出窗口等是完全可以接受的。例如,你在UI上有一个按钮。你可以使用ng-click="onButtonClick()"调用弹出窗口来显示一些消息。

当我们说"避免在控制器内进行DOM操作"时-不要做像document.getElementById("#someId"). somedomoperation()或$("#someId"). somedomoperation()这样的事情。你最好写一个指令,用在UI上。

实际上$ionicLoading和$ionicPopup是允许在特定情况下操纵DOM的服务,比如这些(模态等)。

在控制器中,你使用这些服务并调用你需要的方法,但是DOM操作发生在服务中。

这是来自Misko Hevery (Angular JS之父)