溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

AngularJS模態(tài)框模板ngDialog的使用詳解

發(fā)布時間:2020-10-22 09:26:03 來源:腳本之家 閱讀:315 作者:悶葫蘆- 欄目:web開發(fā)

項目開始的時候我們用的對話框是AngularJS的$modal模態(tài)框,但是后來發(fā)現$modal打開的對話框是相對頁面靜止的,如果對話框是一個很長的表單,這樣體驗度就不是很好了,還有$modal傳$scope不是很靈活的原因,后來就改用的$ngDialog.

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

首先確定你的項目已經安裝了$ngDialog需要的相關文件。

接下來一個簡單的demo

del.html內容如下,就是你的對話框內容,這里比較簡單,只是一個確認對話框

<meta charset="UTF-8"> 
<div class="modal-header"> 
 <h5 class="modal-title">刪除</h5> 
</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,//絕對寬度?;蛘遷idth:‘%50' //相對寬度

針對以上兩點,示例:

$scope.delBucket = function () { 
   ngDialog.open({ 
    template: '<div class="modal-header"><h5 class="modal-title">刪除Bucket</h5></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翻譯過來了。

附上文章鏈接https://www.jb51.net/article/139899.htm

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI