javascript – AngularJS:加载内容后修改Bootstrap模式
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – AngularJS:加载内容后修改Bootstrap模式,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1469字,纯文字阅读大概需要3分钟。
内容图文
![javascript – AngularJS:加载内容后修改Bootstrap模式](/upload/InfoBanner/zyjiaocheng/771/14814babd0f5444198f28b44235c087b.jpg)
我想在我的AngularJS项目中使用这个漂亮的image cropper.当我以“正常”方式使用它时,即在普通页面上,一切正常.问题是我想把它放在Bootstrap模态对话框中.
为了初始化cropper,我应该执行这个片段:
$(".cropper").cropper({
aspectRatio : 1.618,
done : function(data) {
console.log(data);
}
});
但它必须在加载模态的DOM之后执行.所以我试图像这样运行它:
$scope.onCropOpen = function() {
var modalInstance = $modal.open({
templateUrl : 'cropModal.html',
controller : CropModalInstanceCtrl
});
modalInstance.opened.then(function() {
$(".cropper").cropper({
aspectRatio : 1.618,
done : function(data) {
console.log(data);
}
});
});
};
不幸的是,裁剪器仍然没有被初始化.我知道在加载模态后调用它应该可以工作,因为我从浏览器控制台手动运行它(打开模态对话框),然后“魔术”初始化了剪切器.
解决方法:
这是一个非常简单的指令,可以向您显示方向.
而不是使用类“.cropper”定义元素,创建元素“image-cropper”(因为指令名称是“imageCropper”):
<image-cropper></image-cropper>
这是一个非常通用的代码片段,对于任何jquery插件都应该以类似的方式工作.
*不要忘记将模块名称从“myApp”更改为应用程序模块的名称…
angular.module("myApp").directive('imageCropper', function ($parse) {
return {
restrict: "E",
replace: true,
compile: function (element, attrs) {
var modelAccessor = $parse(attrs.ngModel);
var html = "<img></img>";
var newElem = $(html);
newElem.attr("src", attrs.src);
element.replaceWith(newElem);
return function (scope, element, attrs, controller) {
element.cropper({
aspectRatio : 1.618,
done : function(data) {
console.log(data);
}
});
};
}
};
});
内容总结
以上是互联网集市为您收集整理的javascript – AngularJS:加载内容后修改Bootstrap模式全部内容,希望文章能够帮你解决javascript – AngularJS:加载内容后修改Bootstrap模式所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。