AngularJS模态框模板ngDialog的使用详解
程序员文章站
2022-05-15 13:52:07
项目开始的时候我们用的对话框是angularjs的$modal模态框,但是后来发现$modal打开的对话框是相对页面静止的,如果对话框是一个很长的表单,这样体验度就不是很好...
项目开始的时候我们用的对话框是angularjs的$modal模态框,但是后来发现$modal打开的对话框是相对页面静止的,如果对话框是一个很长的表单,这样体验度就不是很好了,还有$modal传$scope不是很灵活的原因,后来就改用的$ngdialog.
官方的api在这里:
首先确定你的项目已经安装了$ngdialog需要的相关文件。
接下来一个简单的demo
del.html内容如下,就是你的对话框内容,这里比较简单,只是一个确认对话框
<meta charset="utf-8"> <div class="modal-header"> <h4 class="modal-title">删除</h4> </div> <div class="modal-body"> <form autocomplete="off" class="file-brief file-brief-show form-validation" name="obsform" id="form-new-style"> <div class="col-sm-12 m-t-xs m-b-xs "> <div class="form-group"> <label>您确认要删除吗?</label> </div> </div> </form> </div> <div class="modal-footer"> <button type="submit" class="btn" ng-click="confirm()" >确定</button> <button type="button" class="btn" ng-click="cancel()">取消</button> </div>
在你的controller里添加你的方法:
$scope.del = function () { ngdialog.open({ template: '/del.html', classname: 'ngdialog-theme-default', scope: $scope, controller: function ($scope) { ... $scope.confirm = function () { ... }; $scope.cancel = function () { $scope.closethisdialog(); }; } }); };
这里template里是一个路径,其实如果对话框简单的话可以在template里直接写<div>内容,只是要加一个属性:plain:true,
对话框的高度宽度都可以自定义,width:500,//绝对宽度。或者width:‘%50' //相对宽度
针对以上两点,示例:
$scope.delbucket = function () { ngdialog.open({ template: '<div class="modal-header"><h4 class="modal-title">删除bucket</h4></div>' + '<div class="modal-footer"><button type="submit" class="btn" ng-click="confirm()" >确定</button>'+ '<button type="button" class="btn" ng-click="cancel()">取消</button></div>', plain:true, classname: 'ngdialog-theme-default', width:600, scope: $scope, controller: function ($scope) { ... $scope.confirm = function () { ... }; $scope.cancel = function () { $scope.closethisdialog(); }; } }); };
以上只是一个简单的示例,官方文档上还有通过id打开对话框,打开一个确认对话框等相关详细介绍。
另外有一篇对$ngdialog介绍非常详细的文章,基本上就是把官方api翻译过来了。
附上文章链接
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
推荐阅读
-
AngularJS模态框模板ngDialog的使用详解
-
AngularJS模态框模板ngDialog的使用详解
-
如何使用AngularJS模态框模板ngDialog
-
关于Bootstrap模态框的使用详解
-
AngularJS模态框模板ngDialog使用案例分享
-
AngularJS中如何使用ngModal模态框的实例详解
-
showModalDialog模态对话框的使用详解以及浏览器兼容_javascript技巧
-
如何使用AngularJS模态框模板ngDialog
-
AngularJS模态框模板ngDialog使用案例分享
-
showModalDialog模态对话框的使用详解以及浏览器兼容_javascript技巧