gpt4 book ai didi

angularjs - 如何从 jQuery 对话框按钮访问我的 Angular 范围?

转载 作者:行者123 更新时间:2023-12-04 00:14:20 25 4
gpt4 key购买 nike

http://plnkr.co/edit/Rf0VItthVBg6j0z7KudO

我正在使用 jQuery 对话框并想使用对话框按钮,但我不知道如何在范围内触发(当前不存在的)$http 或 $resource 调用返回到具有更新模型的服务器单击 jQuery 对话框按钮时。我觉得好像我要搞错了,但我不知道该往哪里走。

最佳答案

您可以使用 Angular 函数来查找附加到元素的范围并在其上调用函数。我更喜欢把它抽象出来,找到ng-app的根源。并将事件广播到应用程序中,以便外部代码不知道内部代码的细节,除了您广播的事件。

angular.$externalBroadcast = function (selector, event, message) {
var scope = angular.element(selector).scope();

scope.$apply(function () {
scope.$broadcast(event, message);
});
};

然后,从任何代码中,您可以调用类似:
angular.$externalBroadcast('#app-container', 'doSomething', parameters);

在应用程序内部,我会做这样的事情:
$rootScope.$on('doSomething', function(parameters) {
// handle the external event.
});

如果您不喜欢这种方法,只需获取范围:
var scope = angular.element(selector).scope();

并用它做点什么。只要确保您调用 scope.$apply否则消化循环不会发生。

关于angularjs - 如何从 jQuery 对话框按钮访问我的 Angular 范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18603855/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com