Jquery 范围是未定义的AngularJS
我对AngularJS不熟悉。Jquery 范围是未定义的AngularJS,jquery,angularjs,Jquery,Angularjs,我对AngularJS不熟悉。 我正在尝试刷新角度控制器之外的某些角度范围 我试图获取此特定控制器的作用域引用,但未定义。 我做了很多搜索,但没有找到有效的东西,我不确定我做错了什么 代码如下: HTML <div class="form-group" ng-app="cms"> <label class="col-md-2 control-label">Images</label> <div id="scope" class="col-md-10 mi
我正在尝试刷新角度控制器之外的某些角度范围 我试图获取此特定控制器的作用域引用,但未定义。
我做了很多搜索,但没有找到有效的东西,我不确定我做错了什么 代码如下: HTML
<div class="form-group" ng-app="cms">
<label class="col-md-2 control-label">Images</label>
<div id="scope" class="col-md-10 mix-grid thumbnails" ng-controller="ImagesController">
<div class="col-md-2 col-sm-2 mix" ng-repeat="image in images">
<div class="mix-inner">
<img class="img-responsive" ng-src="/assets/user_uploads/pages/<% image.image_name %>" alt="">
<div class="mix-details">
<a class="mix-icon icon-preview fancybox-button tooltips" data-placement="bottom" data-original-title="Preview" href="/assets/user_uploads/pages/<% image.image_name %>" data-rel="fancybox-button"><i class="fa fa-search"></i></a>
<a class="mix-icon icon-edit tooltips" data-image-id="<% image.id %>" data-image-table="pages_images" data-placement="bottom" data-original-title="Edit"><i class="fa fa-edit"></i></a>
<a ng-click="removeImage(image.id, image)" class="mix-icon icon-delete tooltips" data-placement="bottom" data-original-title="Delete"><i class="fa fa-times"></i></a>
</div>
</div>
</div>
</div>
jQuery
$('.modal-footer .image-update').on('click', function() {
var imageId = $(this).attr('data-image-id');
var imageAlt = $('.modal-body #image_alt').val();
var imageTitle = $('.modal-body #image_title').val();
var imageLink = $('.modal-body #image_link').val();
$.ajaxFileUpload({
url : '/admin/images/ajaxUpdatePageImage/'+imageId,
secureuri : false,
fileElementId : 'image_new',
dataType : 'json',
data : { imageAlt: imageAlt , imageTitle: imageTitle , imageLink: imageLink },
success : function (data) {
bootbox.alert("Successfully updated");
$('.modal').modal('hide');
scope.$apply(function(){
scope.refresh();
});
}
});
});
将非常感谢您提供的任何帮助。尝试将代码移动到单击处理程序中,因为执行脚本时,元素的角度编译可能尚未完成
$('.modal-footer .image-update').on('click', function() {
var scope = angular.element("#scope").scope();
var imageId = $(this).attr('data-image-id');
var imageAlt = $('.modal-body #image_alt').val();
var imageTitle = $('.modal-body #image_title').val();
var imageLink = $('.modal-body #image_link').val();
$.ajaxFileUpload({
url : '/admin/images/ajaxUpdatePageImage/'+imageId,
secureuri : false,
fileElementId : 'image_new',
dataType : 'json',
data : { imageAlt: imageAlt , imageTitle: imageTitle , imageLink: imageLink },
success : function (data) {
bootbox.alert("Successfully updated");
$('.modal').modal('hide');
scope.$apply(function(){
scope.refresh();
});
}
});
});
Is
var scope=angular.element($(“#scope”)).scope()代码>在dom完成加载后?(你不需要额外的$()
)你说得对@towr,它是在dom完成加载之前加载的。是的,它也起作用:)问题是需要在dom完成加载后调用它。@Chen-Ohayon_BWebi不完全是。。。它必须在角度编译完成后完成。。。。这与dom readyOk不同,感谢您的更正@Arun P Johny!好吧,现在我得到了范围参考,但没有任何变化。“$scope.refresh”方法中是否缺少某些内容?
$('.modal-footer .image-update').on('click', function() {
var scope = angular.element("#scope").scope();
var imageId = $(this).attr('data-image-id');
var imageAlt = $('.modal-body #image_alt').val();
var imageTitle = $('.modal-body #image_title').val();
var imageLink = $('.modal-body #image_link').val();
$.ajaxFileUpload({
url : '/admin/images/ajaxUpdatePageImage/'+imageId,
secureuri : false,
fileElementId : 'image_new',
dataType : 'json',
data : { imageAlt: imageAlt , imageTitle: imageTitle , imageLink: imageLink },
success : function (data) {
bootbox.alert("Successfully updated");
$('.modal').modal('hide');
scope.$apply(function(){
scope.refresh();
});
}
});
});