1

我正在学习 AngularJS,但在使用 dialogs时遇到了一些困难

由于我正在将我的应用程序从基于 Jquery 的经典应用程序转换为 Angular 应用程序,因此我想使用 Fancybox 打开带有自定义动态 HTML 的对话框,并使用 fancybox open 方法。

$.fancybox.open(html);

我编写了一个使用 fancybox 的服务:现在我打开了我的对话框,但对话框中的内容没有针对 angular 进行“编译”,因此在该 HTML 上设置的任何 angular 指令都不起作用。

看例子

http://plnkr.co/edit/UwryF1ocleyND7zxCGJz?p=preview

我想问题出在服务中,但我不知道如何解决。你能告诉我如何在对话框中显示的 HTML 中获得对角度指令敏感的 html 吗?

更新

我尝试使用$compile,并设置指令而不是服务(直接从 ng-click 调用指令内的方法)

http://plnkr.co/edit/Y18bRSMdV62VObMGJ2Ie?p=preview

现在怎么了?为什么我$compile的不能按预期工作?

4

1 回答 1

3

问题是,它只在 the 上angular查找函数表达式,而不是在纯 JavaScript 上查找函数表达式。因此,当您在 上添加功能时,它将正确连接:http ://plnkr.co/edit/y02UMQ2kU4fh8Imsa82u?p=previewscopewindowalert$scope

$scope.alert = function (phone) { window.alert(phone.name); };
于 2013-11-02T13:52:16.497 回答