提问人:jonasnas 提问时间:7/5/2015 更新时间:7/5/2015 访问量:70
Angular 最佳实践。触发动画的控制器操作
Angular best practice. Controller actions triggering animations
问:
我想在等待(轮询)服务器时显示一些进度圈。我正在为此使用一些jquery circle-progress插件。我想弄清楚有条件地开始循环进度,然后在某个时候通知它停止的最常见方法是什么。然后我想让这个圆圈完成整个回合(额外时间)并通知控制器“圆圈”动画完成。
我现在所做的是,我会为圆圈进度创建指令,并观察一些属性以了解何时开始/停止动画。然后,当观察到的属性更改为 时,指令完成当前执行的圆圈,执行一些额外的动画(淡出)并调用“on-change”属性以通知控制器。completed
true
对我来说,看起来我做的太复杂了。我需要观察许多属性“何时开始”、“何时停止”,然后是回调方法的额外属性。
这是这种情况的常用方法吗?也许我应该尝试用动画来做这些事情?当我想将一些现有的东西集成到 angular 应用程序中时,我一直会遇到这个问题。jquery UI features
P.S. 我希望这个指令可以在许多不同的控制器中重用。
答:
1赞
tuckerjt07
7/5/2015
#1
我不会把它放在控制器中,该指令是 DOM 交互的正确位置。根据我对您的问题的了解,您需要注意页面上多个区域的变化。为此,您不一定需要观察多个变量。您可以将多个变量名称作为属性传递到指令中,然后将
scope.$watch(attrs.MyVar, function () {
//Do something
scope[attrs.MyFunc]();
});
这样。
上一个:指令中的$compile
下一个:命名空间的组成和选择
评论