gpt4 book ai didi

javascript - 在请求范围的服务中使用 $compile

转载 作者:行者123 更新时间:2023-11-28 00:41:50 27 4
gpt4 key购买 nike

我可以在服务中使用 $compile,因为它抛出错误范围不存在。

services.factory('getRegistersrvs', function($http, $compile) {

return {
getRegisterpage: function() {
return $http.get(baseUrl+'signup', {cache: true});
},
replaceTemp: function(response, $elem) {
$elem.replaceWith($compile(response.data));
}
}
});

这里response.data是从ajax http.get获取的html数据。

我需要使用它才能让 ng click 为动态元素工作

最佳答案

您可以使用 scope 方法访问元素范围:

replaceTemp: function(response, $elem) {
var scope = $elem.scope();
$elem.replaceWith($compile(response.data)(scope));
}

此方法假设 $elemangular.element 的实例。如果不是(例如纯 DOM 元素),您需要将其包装 angular.element($elem).scope()

另一种方法是使用 $rootScope.$new() 创建新作用域或简单地使用 $rootScope 本身,但当然使用作用域是有意义的被替换的元素。

关于javascript - 在请求范围的服务中使用 $compile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27840592/

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