AngularJS - AlertFactory打开对话框行为

时间:2013-03-22 08:03:13

标签: angularjs angularjs-scope angularjs-service

我正在创建一个AlertFactory,因为ui.bootstrap.dialog在我的应用程序中不起作用。

所以我输入以下代码:http://jsfiddle.net/Premier/BHqKB/17/

enter code here

如果单击“打开对话框”按钮,它会很有效:在屏幕上会出现一个包含我的消息的对话框。

我还在keydown上注册了一个监听器:listener触发一个广播事件,在该事件上注册了一个与范围相关的函数。此函数调用openDialog来显示对话框。通过这种方式,angular不会插入参数,并且会在{{title}}占位符中显示警报。

我的代码有什么问题?

谢谢。

1 个答案:

答案 0 :(得分:1)

您需要$apply来调用摘要周期。

ng.element(document).on('keydown', function(e){
  //alert('keydown');
  //openDialog();
  $rootScope.$broadcast('openDialog');
  $rootScope.$apply();
});