AngleJS에서 어떻게 사용하나요?
이 글은 주로 AngularJS 사용법과 관련된 내용을 소개합니다. 필요하신 분들은 참고하시면 됩니다
AngularJS
이벤트 명령어:
ng-click/dblclick ng-mousedown/up ng-mouseenter/leave ng-mousemove/over/out ng-keydown/up/press ng-focus/blur ng-submit
는 ng-click과 동일합니다.
이벤트 객체를 사용할 때 ng-click 및 기타 지침에서 $event를 전달해야 한다는 점에 유의해야 합니다.<button ng-click="clickFn($event)" class="btn btn-danger">aa</button>
Form command
ng-change
ng-disabled 控制元素是否可用
ng-readonly
ng-checked
Form 요소는 비활성화 또는 읽기 전용 속성을 설정하여 설정할 수 있습니다. 비활성화됨을 설정한 후에는 사용자가 해당 필드를 사용할 수 없으며 읽기 전용
은 사용자만 비활성화할 수 있습니다. 즉, 사용자는 이를 실행할 수 없지만 양식은 계속 제출됩니다카운트다운 급하게 구매하는 경우가 적음
$interval 서비스는 더티 데이터를 자동으로 확인할 수 있는 setInterval과 동일합니다.
삭제하려면 값을 할당한 다음 $interval.cancel( 타이머) ng-show는 true로 표시됩니다. 숨기려면 false ng-hide를 숨기려면 true로 설정하세요. false 표시ng-if는 표시되지 않는 경우 노드가 DOM 문서에 없다는 점을 제외하면 ng-show와 동일합니다var app = angular.module("myapp",[]) app.controller("myController",function ($scope,$interval) { $scope.num=1 $scope.canBuy = false $scope.time = 5 var timer = $interval(function () { $scope.time--; if($scope.time<=0){ $scope.canBuy=true $interval.cancel(timer) } },1000) })
ng-bind에 문제가 있습니다 , 추가한 후에는 데이터 변수 뒤에 다른 것을 추가할 수 없습니다. 이 데이터만 이 태그에 표시될 수 있으며 다른 것들은 작동하지 않습니다. 예를 들어
{{name}}---111 用ng-bind-template就好 ng-bind-template="{{name}}---111"
ng-bind-html="<h1>{{name}}---111</h1>"
$scope.text= "<h1>"+$scope.name+"---111</h1>" ng-bind-html=''text“ ng-non-bindable
<h3 ng-non-bindable>{{name}}</h3>
HTML 코드 조각을 도입할 수 있으며 정의할 변수도 필요합니다. 코드 조각에 표현식을 작성할 수도 있습니다.$scope.text='html/a.html';
ng-include='text'
ng-model-options='{updateOn:'blur'}'
ng-controller
<p ng-controller="myController as myFun"> {{name}}<br> {{myFun.age}}<br> {{myFun.sex}} </p> myapp.controller("myController",["$scope",myFun]) function myFun($scope){ $scope.name='allen'; this.sex='male' } myFun.prototype.age="18"
$http({
url:"http://datainfo.duapp.com/shopdata/getclass.php",
method:"get",
params:{}
}).success(function(data){
$scope.dataList=data;
}).error(function(error){
console.log(error)
})
params 제출된 데이터는 $.ajax의 데이터와 동일합니다. {}성공 성공 콜백
error error callback여기서 JSONP 기술에 대해 이야기하겠습니다JSONP는 도메인 간 문제를 해결하는 일반적인 방법입니다교차 도메인 문제: 브라우저에는 동일 출처 정책이 있으므로 서로 다른 도메인 간에 데이터가 교환될 때 교차 도메인 문제가 발생합니다. 원본 출처 정책: 이는 동일한 프로토콜, 동일한 도메인 이름에서만 수행될 수 있습니다. , 동일한 포트로 데이터 상호작용
JSONP의 원칙: 동일 출처 정책의 영향을 받지 않는 스크립트 태그(콜백 함수를 사용함)의 src 속성을 사용할 수 있습니다. 콜백 기능을 설정하여 다른 도메인에서 데이터 수신JSONP는 프런트엔드와 백엔드를 결합한 크로스 도메인 방식입니다. 프런트엔드에서 데이터를 요청하고 이를 사용해야 하기 때문입니다. 콜백 함수를 사용하려면 백엔드에서 데이터를 다시 콜백 함수에 넣어야 합니다.JSONP가 AJAX에 속합니까? Ajax는 xmlhttprequest 객체를 사용하여 비동기 데이터 상호 작용을 수행하는 기술을 말하며, JSONP는 scriptsrc 속성에 속하지 않습니다. JSONP를 사용할 때 주의해야 할 점은 무엇입니까?
게시물 교차 도메인 처리는 수행할 수 없습니다. 스크립트 태그와 콜백 함수는 각 요청마다 동적으로 생성되어야 하며 데이터 수집이 완료된 후에는 삭제되어야 합니다. 메서드가 jsonp인 경우 도메인 간 요청에 jsonp를 사용할 수 있지만 url 뒤에 콜백 값을 JSON_CALLBACK으로 작성해야 합니다.Baidu 검색 예시여기서 참조한 내용은 Angle-sanitize입니다. jsvar app = angular.module("myapp",['ngSanitize']) app.controller("myController",function ($scope,$http) { $http({ url:"http://datainfo.duapp.com/shopdata/getclass.php", method:"post", params:{a:1} }).success(function (results) { $scope.dataList = results }).error(function (error) { console.log(error) }) }) app.controller("yourController",function ($scope,$http) { $scope.search = function () { $http({ url:"https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su", method:"jsonp", params:{ wd:$scope.wd, cb:'JSON_CALLBACK' } }).success(function (results) { $scope.dataList = results.s }) } })
console.log($location.absUrl())//输出绝对地址 console.log($location.host())//输出域名 console.log($location.port())//输出端口 console.log($location.protocol())//协议 $location.path("aaa")//在路由中控制切换页面 console.log($location.path()) // #/aaa
$log service
다중 콘솔 출력 모드
$log.info("info"); $log.warn("warn"); $log.error("error"); $log.log("log");
例如
myapp.config(["$interpolateProvider",function($interpolateProvider){ $interpolateProvider.startSymbol("!!"); $interpolateProvider.endSymbol("!!"); }])
angular就不认识{{}}了,开始变成!!!!
自定义服务 三种
1.factory
myapp.factory('serviceName',function(){ return .... })
可以return 字符串、数组、函数、对象(使用最多,最和逻辑)
引入方法和angualr自带的前面加$的服务完全一样,使用方法取决于return出来的是什么东西,自定义服务的服务名还是别加$了
eq:返回一个 两个数之间的随机数的服务
myapp.factory("myService",function(){ return { getRandom:function(a,b){ return Math.random()*(b-a)+a; } } })
自定义的服务可以依赖注入其他服务
myapp.factory('myHttpService',['$http',function($http){ return { $http({ url:...... }) } }])
eq:下一个自定义的http服务
myapp.factory("myHttpService",["$http",function($http){ return { http:function(url,sfn,efn){ $http({ url:url, method:"get" }).success(sfn).error(efn) } } }]) myHttpService.http("http://datainfo.duapp.com/shopdata/getclass.php",function(data){ console.log(data) },function(data){ console.log(data) })
2.provider
可以通过去自定义一个服务供应商去定义一个服务,写法有区别,服务功能性的东西需要嵌套一层返回
myapp. provider ('myHttpService',['$http',function($http){ return { $get:function(){ return:{//这里才是输出 } } }])
外面return出来的是这个服务的供应商,供应商的$get方法里返回的才是供我们使用的部分,可以通过更改供应商的部分参数来控制服务的功能,
eq:还是返回一个范围内的随机数,但是通过配置供应商的一个值来控制服务返回的是整数还是小数
myapp.provider("myService",function(){ return { isInt:true, $get:function(){ var that=this; return { getRandom:function(a,b){ var num=Math.random()*(b-a+1)+a; if(that.isInt){ return Math.floor(num); }else{ return(num) } } } } } }) myapp.config(["myServiceProvider",function(myServiceProvider){ myServiceProvider.isInt=false; }])
通过这种方法创建的服务是可以配置供应商的
3.service
通过这种方法创建出来的只能是对象
最简单的创建方式,自带返回,支持面向对象的写法
myapp.service("myService",function(){ this.getRandom=function(a,b){ return Math.random()*(b-a)+a; } }) myapp.service("myService",aaa) function aaa(){ this.getRandom=function(a,b){ return Math.random()*(b-a)+a; } }
多个控制器间数据的共享
实现多个控制器数据共享的方法有这样三种,
第一种比较简单,就是把数据放到父作用域上,就都可以访问了
第二种就是在控制器里通过$$prevSibling找到兄弟作用域,然后使用数据,需要注意的是,如果是初始数据类型的话就不能做数据双向绑定了
第三种是定义服务,把需要共享的数据做成服务,这样就都可以用了
<body> <p class="container"> <p ng-controller="firstController"> <input type="text" class="form-control" ng-model="name"> <input type="text" class="form-control" ng-model="data.name"> <input type="text" class="form-control" ng-model="Data.name"> <p> first-name:{{name}}<br> first-data-name:{{data.name}}<br> first-Data-name:{{Data.name}} </p> </p> <p ng-controller="secondController"> <p> second-name:{{name}}<br> second-data-name:{{data.name}}<br> second-Data-name:{{Data.name}} </p> </p> </p> </body> <script src="../Base/angular.min.js"></script> <script> var app=angular.module("myapp",[]); app.factory("Data",function () { return { name:'lily' } }) app.controller("firstController",function ($scope,Data) { $scope.name="allen"; $scope.data={ name:'tom' } $scope.Data=Data; }) app.controller("secondController",function ($scope,Data) { $scope.name=$scope.$$prevSibling.name; $scope.data=$scope.$$prevSibling.data; $scope.Data=Data; }) </script>
自定义模块
所有的模块都有服务,ng-app这个模块理由¥scope什么的服务,
咱们自己也可以写一个模块,然后里面可以去写服务
这样就可以把某些服务写在某个自定义的模块里,实现重复调用
例如把随机数的例子写在一个自定义的模块里
var myModule=angular.module("myModule",[]); myModule.service("myService",function(){ this.ran=function(a,b){ return Math.random()*(a+b)-a; } }) var myapp=angular.module("myapp",["myModule"]); myapp.controller("myController",["$scope","$log","myService",function($scope,$log,myService){ $log.log(myService.ran(5,10)) }])
其实像angualr.sanitize.js就是一个自定义模块
上面是我整理给大家的,希望今后会对大家有帮助。
相关文章:
위 내용은 AngleJS에서 어떻게 사용하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

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

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











JSP 주석 분류 및 활용 분석 JSP 주석은 두 가지 유형으로 구분됩니다. 한 줄 주석: 로 끝나는 코드로 한 줄만 주석을 달 수 있습니다. 여러 줄 주석: /*로 시작하고 */로 끝나는 경우 여러 줄의 코드에 주석을 달 수 있습니다. 한 줄 주석 예 여러 줄 주석 예/**여러 줄 주석입니다*여러 줄의 코드에 주석을 달 수 있습니다*/JSP 주석 사용 JSP 주석을 사용하여 JSP 코드에 주석을 달면 읽기 쉬워집니다.

C 언어에서 종료 기능을 사용하려면 특정 코드 예제가 필요합니다. C 언어에서는 프로그램 초기에 프로그램 실행을 종료하거나 특정 조건에서 프로그램을 종료해야 하는 경우가 많습니다. C 언어에서는 이 기능을 구현하기 위해 exit() 함수를 제공합니다. 이 기사에서는 exit() 함수의 사용법을 소개하고 해당 코드 예제를 제공합니다. Exit() 함수는 C 언어의 표준 라이브러리 함수로 헤더 파일에 포함되어 있습니다. 그 기능은 프로그램 실행을 종료하는 것이며 정수를 취할 수 있습니다.

WPS는 일반적으로 사용되는 사무용 소프트웨어 제품군이며 WPS 테이블 기능은 데이터 처리 및 계산에 널리 사용됩니다. WPS 테이블에는 두 날짜 사이의 시차를 계산하는 데 사용되는 매우 유용한 함수인 DATEDIF 함수가 있습니다. DATEDIF 함수는 영어 단어 DateDifference의 약어입니다. 구문은 다음과 같습니다. DATEDIF(start_date,end_date,unit) 여기서 start_date는 시작 날짜를 나타냅니다.

Python 함수 소개: abs 함수 사용법 및 예 1. abs 함수 사용법 소개 Python에서 abs 함수는 주어진 값의 절대값을 계산하는 데 사용되는 내장 함수입니다. 숫자 인수를 허용하고 해당 숫자의 절대값을 반환할 수 있습니다. abs 함수의 기본 구문은 다음과 같습니다: abs(x) 여기서 x는 정수 또는 부동 소수점 숫자일 수 있는 절대값을 계산하기 위한 숫자 매개변수입니다. 2. abs 함수의 예 아래에서는 몇 가지 구체적인 예를 통해 abs 함수의 사용법을 보여줍니다. 예 1: 계산

Python 함수 소개: isinstance 함수의 사용법 및 예 Python은 프로그래밍을 보다 편리하고 효율적으로 만들기 위해 많은 내장 함수를 제공하는 강력한 프로그래밍 언어입니다. 매우 유용한 내장 함수 중 하나는 isinstance() 함수입니다. 이 기사에서는 isinstance 함수의 사용법과 예를 소개하고 구체적인 코드 예를 제공합니다. isinstance() 함수는 객체가 지정된 클래스나 유형의 인스턴스인지 여부를 확인하는 데 사용됩니다. 이 함수의 구문은 다음과 같습니다

MySQL의 ISNULL() 함수는 지정된 표현식이나 열이 NULL인지 여부를 확인하는 데 사용되는 함수입니다. 부울 값을 반환하며, 표현식이 NULL이면 1, 그렇지 않으면 0을 반환합니다. ISNULL() 함수는 SELECT 문이나 WHERE 절의 조건부 판단에 사용할 수 있습니다. 1. ISNULL() 함수의 기본 구문: ISNULL(expression) 여기서 표현식은 NULL인지 또는 NULL인지를 결정하는 표현식입니다.

Apple 단축키 명령 사용 방법 지속적인 기술 발전으로 휴대폰은 사람들의 삶에 없어서는 안될 부분이 되었습니다. 수많은 휴대폰 브랜드 중에서도 Apple 휴대폰은 안정적인 시스템과 강력한 기능으로 늘 사용자들의 사랑을 받아왔습니다. 그 중 Apple 단축키 명령 기능은 사용자의 휴대폰 경험을 더욱 편리하고 효율적으로 만들어줍니다. Apple Shortcuts는 Apple이 iOS12 이상 버전을 위해 출시한 기능으로, 사용자 정의 명령을 생성하고 실행하여 보다 효율적인 작업을 수행하고 휴대폰 작업을 단순화하는 데 도움이 됩니다.

SQL의 고유한 사용법에 대한 자세한 설명 SQL 데이터베이스에서는 중복된 데이터를 제거해야 하는 상황이 자주 발생합니다. 이때, 고유한 키워드를 사용하면 중복된 데이터를 제거하고 쿼리 결과를 보다 명확하고 정확하게 만드는 데 도움이 됩니다. 구별의 기본 사용법은 매우 간단합니다. 선택 문에서 구별 키워드를 사용하면 됩니다. 예를 들어, 다음은 일반적인 선택 문입니다: SELECTcolumn_name
