這次帶給大家如何使用AngularJS模態框模板ngDialog,使用AngularJS模態框模板ngDialog的注意事項有哪些,下面就是實戰案例,一起來看一下。
專案開始的時候我們用的對話框是AngularJS的$modal模態框,但是後來發現$modal打開的對話框是相對頁面靜止的,如果對話框是一個很長的表單,這樣體驗度就不是很好了,還有$modal傳$scope不是很靈活的原因,後來就改用的$ngDialog.
官方的API在這裡:https://www.npmjs.com/package/ng-dialog
首先確定你的專案已經安裝了$ngDialog所需的相關檔案。
接下來一個簡單的demo
del.html內容如下,就是你的對話框內容,這裡比較簡單,只是一個確認對話框
<meta charset="UTF-8"> <p class="modal-header"> <h4 class="modal-title">删除</h4> </p> <p class="modal-body"> <form autocomplete="off" class="file-brief file-brief-show form-validation" name="ObsForm" id="form-new-style"> <p class="col-sm-12 m-t-xs m-b-xs "> <p class="form-group"> <label>您确认要删除吗?</label> </p> </p> </form> </p> <p class="modal-footer"> <button type="submit" class="btn" ng-click="confirm()" >确定</button> <button type="button" class="btn" ng-click="cancel()">取消</button> </p>
在你的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裡直接寫
內容,只是要加一個屬性:plain:true,
對話方塊的高度寬度都可以自訂,width:500,//絕對寬度。或width:'P' //相對寬度
針對以上兩點,範例:
$scope.delBucket = function () { ngDialog.open({ template: '<p class="modal-header"><h4 class="modal-title">删除Bucket</h4></p>' + '<p class="modal-footer"><button type="submit" class="btn" ng-click="confirm()" >确定</button>'+ '<button type="button" class="btn" ng-click="cancel()">取消</button></p>', plain:true, className: 'ngdialog-theme-default', width:600, scope: $scope, controller: function ($scope) { ... $scope.confirm = function () { ... }; $scope.cancel = function () { $scope.closeThisDialog(); }; } }); };
以上只是一個簡單的範例,官方文件上還有透過id開啟對話框,開啟一個確認對話框等相關詳細介紹。
另外有一篇對$ngDialog介紹非常詳細的文章,基本上就是把官方API翻譯過來了。
相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!
推薦閱讀:
以上是如何使用AngularJS模態框模板ngDialog的詳細內容。更多資訊請關注PHP中文網其他相關文章!