이번에는 Node.js에서 ngDialog 대화 상자를 사용하는 방법과 ngDialog 대화 상자를 사용하여 Node.js를 실행할 때 주의 사항이 무엇인지 보여드리겠습니다. 다음은 실제 사례입니다.
웹 사이트를 구축할 때 사용자 입력을 얻기 위해 대화 상자가 나타나거나 사용자에게 작업 확인을 요청하는 대화 상자가 나타나는 상황을 자주 접하게 됩니다. 이러한 작업을 수행하는 데 도움이 되는 AngularJS 기반 확장 모듈이 있습니다. 우아하게: ngDialog.
ngDialog는 다양한 용도를 보여주는 github의 예제 웹페이지를 제공합니다. 여기: https://github.com/likeastore/ngDialog/blob/master/example/index.html. ngDialog의 github 홈페이지의 추가 정보에는 일반적으로 사용되는 지침과 서비스에 대한 자세한 소개가 제공되어 참조할 수 있습니다. 내 기사는 순전히 ngDialog 예제를 기반으로 합니다.
ngDialog.open(옵션) 또는 ngDialog.openConfirm(옵션)을 사용하여 대화 상자를 만듭니다. 전자는 일반 대화 상자를 열고 테마, 템플릿 등 일련의 속성은 옵션을 통해 지정할 수 있습니다. 후자는 기본적으로 이스케이프를 거부하고 대화 상자 외부에서 자동으로 닫히는 대화 상자를 엽니다. options은 다음과 유사한 json 개체입니다.
{template: 'tplId',closeByEscape: false}
예제 구성
먼저 간단한 예를 살펴보겠습니다. Express 생성기를 사용하여 새 애플리케이션을 만들거나 Node.js 개발 시작하기 - 쿠키를 사용하여 로그인 상태 유지의 LoginDemo 예제를 직접 사용하세요. 모두 완료되었습니다.
작성한 파일 추가
작성한 파일은 3개입니다. ngdialog.html과 serverTpl.html 파일은 프로젝트의 public 디렉터리에 있고, ngdialog.js는 public/javascripts에 있습니다. .
ngdialog.html content:
nbsp;html> <title>use ngDialog in AngularJS</title> <link><link> <link><link> <link><link> <p><button>Open Default</button></p> <p><button>Open Plain theme</button></p> <p><button>Open use text</button></p> <p><button>Open modal</button></p> <p><button>Open use template on server</button></p> <p><button>Open Confirm</button></p> <script></script> <script></script> <script></script> <!-- Templates --> <script> <p><p>text in dialog </script>
ngdialog.js content:
angular.module('myApp', ['ngDialog']). controller('myController', function($scope,$rootScope, ngDialog){ $scope.template = '<p></p><p>text in dialog</p><p><button>Button</button></p><p>'; //different template $scope.openDialog = function(){ ngDialog.open({template: 'firstDialogId'}); }; $scope.openPlainDialog = function(){ ngDialog.open({ template: 'firstDialogId', //use template id defined in HTML className: 'ngdialog-theme-plain' }); } $scope.openDialogUseText = function(){ ngDialog.open({ template: $scope.template, //use plain text as template plain: true, className: 'ngdialog-theme-plain' }); } $scope.openModal = function(){ ngDialog.open({ template: '</p><p>Text in Modal Dialog</p>', plain: true, className: 'ngdialog-theme-default', closeByEscape: false, closeByDocument: false }); } $scope.openUseExternalTemplate = function(){ ngDialog.open({ template: 'serverTpl.html', plain: false, className: 'ngdialog-theme-default', closeByEscape: false, closeByDocument: false }); }; $rootScope.userName = "ZhangSan"; $scope.openConfirmDialog = function(){ ngDialog.openConfirm({ template: '<p></p><h3 id="Please-enter-your-name">Please enter your name</h3><p>User Name:<input></p><p><button>Cancel</button><button>Confirm</button></p>', plain: true, className: 'ngdialog-theme-default' }).then( function(value){ console.log('confirmed, value - ', value); }, function(reason){ console.log('rejected, reason - ', reason); } ); } //listen events $rootScope.$on('ngDialog.opened', function (e, $dialog) { console.log('ngDialog opened: ' + $dialog.attr('id')); }); $rootScope.$on('ngDialog.closed', function (e, $dialog) { console.log('ngDialog closed: ' + $dialog.attr('id')); }); });
serverTpl.html content:
nbsp;html> <title>A Server Template for ngDialog</title> <p> </p><h3 id="Server-Template-for-ngDialog">Server Template for ngDialog</h3>
ngDialog 소개
ngDialog를 사용하려면 HTML에서 스크립트를 사용하여 해당 js를 도입해야 합니다. 라이브러리 파일 . 또한 헤드 부분에는 여러 CSS 파일이 도입되어야 합니다. ngdialog.html을 참조하세요.
ngDialog 라이브러리 파일은 https://github.com/likeastore/ngDialog에서 다운로드하거나 여기(http://cdnjs.com/libraries/ng-dialog)에서 다운로드할 수 있습니다. 아래 링크에서 0.4.0 버전에서 파일 이름을 바꿨습니다. 이름이 바뀐 파일은 다음과 같습니다:
ngDialog-0.4.0.min.js
ngDialog-0.4.0.min.css
ngDialog-theme-default-0.4.0.min .css
ngDialog-theme-plain-0.4.0.min.css
API 요약 학습
학습 중 몇 가지 의심에 부딪혔는데, 그 내용이 아래에 기록되어 있습니다.
대화 상자 콘텐츠 템플릿
대화 상자를 표시하려면 표시할 콘텐츠를 지정해야 합니다. 이는 template 속성을 통해 지정됩니다. 템플릿에는 세 가지 상황이 있습니다.
-
js 또는 html 코드에 포함된 일반 텍스트 템플릿 이때 옵션에서 plain 속성을 true로 동시에 설정해야 합니다. 즉, "plain:true"입니다. 을 클릭한 다음 HTML 코드 조각을 템플릿에 직접 할당합니다. 예를 들어 template:
Text in ngDialog
-
HTML에서 템플릿을 정의하고 템플릿에 ID를 지정한 다음 할당합니다. "template: 'templateId'"와 같은 템플릿 옵션에 대한 ID입니다. 템플릿은 다음과 같습니다.
> ; "template: 'serverTpl.html'"과 같은 외부 html 조각(파일)을 템플릿으로 사용하면 serverTpl.html 파일이 서버에 있습니다.
테마 지정
옵션의 className을 통해 테마를 지정할 수 있습니다. 현재 ngdialog-theme-default와 ngdialog-theme-plain의 두 가지 테마가 있습니다. 이 두 노트는 앞서 HTML을 통해 소개해드린 CSS 파일 두 개에 해당합니다.
닫기 등의 이벤트에 대한 응답
대화 상자가 닫히면 일부 이벤트가 발생하며 개발자는 이러한 이벤트를 듣고 알림을 받을 수 있습니다. 구체적인 이벤트는 다음과 같습니다:
ngDialog.opened
ngDialog.closing
ngDialog.closed
这些事件定义在$rootScope服务里,所以我们的controller构造函数必须依赖$rootScope。比如我们现在的模块定义和controller定义:
angular.module(‘myApp', [‘ngDialog']). controller(‘myController', function(scope,scope,rootScope, ngDialog){
在模块定义里注明依赖ngDialog模块,在controller定义里注入了$rootScope和ngDialog。
如何监听事件,看ngdialog.js代码吧。
另外我们还可以在options中设置preCloseCallback,指定一个函数,这个函数在对话框取消关闭之前会调用到。https://github.com/likeastore/ngDialog这里有说明。注意,是取消对话框时会调用到,如果确认,不会调到哦。所以,这个preCloseCallback通常在阻止或提醒用户放弃输入时使用,比如用户注册,输入了一些信息,想退,你可以问他是否要真的想放弃。
指定对话框的controller
可以通过options设置controller属性来给一个对话框指定控制器。这个控制器可以是内联(inline)的:
$scope.openInlineController = function () { $rootScope.theme = 'ngdialog-theme-plain'; ngDialog.open({ template: 'withInlineController', controller: ['$scope', '$timeout', function ($scope, $timeout) { var counter = 0; var timeout; function count() { $scope.exampleExternalData = 'Counter ' + (counter++); timeout = $timeout(count, 450); } count(); $scope.$on('$destroy', function () { $timeout.cancel(timeout); }); }], className: 'ngdialog-theme-plain' }); };
也可以是在js中定义的。比如我们在js里定义了一个名为“InsideCtrl”的controller,就可以在调用ngDialog.open(options)时在options里设置controller属性:
$scope.openInsideController = function(){ ngDialog.open({ template: "serverTpl.html", className: "ngdialog-theme-plain", controller: "InsideCtrl" }); };
具体示例可以参考:https://github.com/likeastore/ngDialog/blob/master/example/index.html。
确认对话框
比如让用户确认删除,让用户输入。使用openConfirm(options)就可以创建这样的对话框。ngDialog向$scope注入了两个函数,一个是confirm(value),一个是closeThisDialog(reason),分别用来确认关闭对话框,取消关闭对话框。将它们关联到确认和取消按钮上,就可以确认、取消对话框。
假如我要让用户输入用户名,可以用ng-model指令将作用域内某个变量和input绑定,在调用confirm时传入绑定的变量,这样就可以在confirm中拿到用户填写的值来做进一步处理。我们的示例中的openConfirmDialog按钮,点击后就弹出一个让用户输入名字的对话框,当用户输入完毕,点击Confirm按钮时,我们可以通过confirm方法的value参数获得用户名输入框的值。
相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
推荐阅读:
위 내용은 Node.js 대화 상자 ngDialog 사용 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

파이썬과 자바 스크립트 간의 성능과 효율성의 차이는 주로 다음과 같이 반영됩니다. 1) 해석 된 언어로서, 파이썬은 느리게 실행되지만 개발 효율이 높고 빠른 프로토 타입 개발에 적합합니다. 2) JavaScript는 브라우저의 단일 스레드로 제한되지만 멀티 스레딩 및 비동기 I/O는 Node.js의 성능을 향상시키는 데 사용될 수 있으며 실제 프로젝트에서는 이점이 있습니다.

JavaScript는 1995 년에 시작하여 Brandon Ike에 의해 만들어졌으며 언어를 C로 실현했습니다. 1.C Language는 JavaScript의 고성능 및 시스템 수준 프로그래밍 기능을 제공합니다. 2. JavaScript의 메모리 관리 및 성능 최적화는 C 언어에 의존합니다. 3. C 언어의 크로스 플랫폼 기능은 자바 스크립트가 다른 운영 체제에서 효율적으로 실행하는 데 도움이됩니다.

JavaScript는 브라우저 및 Node.js 환경에서 실행되며 JavaScript 엔진을 사용하여 코드를 구문 분석하고 실행합니다. 1) 구문 분석 단계에서 초록 구문 트리 (AST)를 생성합니다. 2) 컴파일 단계에서 AST를 바이트 코드 또는 기계 코드로 변환합니다. 3) 실행 단계에서 컴파일 된 코드를 실행하십시오.

Python 및 JavaScript의 미래 추세에는 다음이 포함됩니다. 1. Python은 과학 컴퓨팅 분야에서의 위치를 통합하고 AI, 2. JavaScript는 웹 기술의 개발을 촉진하고, 3. 교차 플랫폼 개발이 핫한 주제가되고 4. 성능 최적화가 중점을 둘 것입니다. 둘 다 해당 분야에서 응용 프로그램 시나리오를 계속 확장하고 성능이 더 많은 혁신을 일으킬 것입니다.

개발 환경에서 Python과 JavaScript의 선택이 모두 중요합니다. 1) Python의 개발 환경에는 Pycharm, Jupyternotebook 및 Anaconda가 포함되어 있으며 데이터 과학 및 빠른 프로토 타이핑에 적합합니다. 2) JavaScript의 개발 환경에는 Node.js, VScode 및 Webpack이 포함되어 있으며 프론트 엔드 및 백엔드 개발에 적합합니다. 프로젝트 요구에 따라 올바른 도구를 선택하면 개발 효율성과 프로젝트 성공률이 향상 될 수 있습니다.

예, JavaScript의 엔진 코어는 C로 작성되었습니다. 1) C 언어는 효율적인 성능과 기본 제어를 제공하며, 이는 JavaScript 엔진 개발에 적합합니다. 2) V8 엔진을 예를 들어, 핵심은 C로 작성되며 C의 효율성 및 객체 지향적 특성을 결합하여 C로 작성됩니다.

JavaScript는 웹 페이지의 상호 작용과 역학을 향상시키기 때문에 현대 웹 사이트의 핵심입니다. 1) 페이지를 새로 고치지 않고 콘텐츠를 변경할 수 있습니다. 2) Domapi를 통해 웹 페이지 조작, 3) 애니메이션 및 드래그 앤 드롭과 같은 복잡한 대화식 효과를 지원합니다. 4) 성능 및 모범 사례를 최적화하여 사용자 경험을 향상시킵니다.

C 및 JavaScript는 WebAssembly를 통한 상호 운용성을 달성합니다. 1) C 코드는 WebAssembly 모듈로 컴파일되어 컴퓨팅 전력을 향상시키기 위해 JavaScript 환경에 도입됩니다. 2) 게임 개발에서 C는 물리 엔진 및 그래픽 렌더링을 처리하며 JavaScript는 게임 로직 및 사용자 인터페이스를 담당합니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음
