ngDialog 一个简单的AngularJS模态框模板

12 篇文章 0 订阅
1 篇文章 0 订阅

项目开始的时候我们用的对话框是AngularJS的$modal模态框,但是后来发现$modal打开的对话框是相对页面静止的,如果对话框是一个很长的表单,这样体验度就不是很好了,还有$modal传$scope不是很灵活的原因,后来就改用的$ngDialog.

官方的API在这里:https://www.npmjs.com/package/ng-dialog

首先确定你的项目已经安装了$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翻译过来了。

附上文章链接http://blog.csdn.net/foruok/article/details/48231175



  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值