>  기사  >  웹 프론트엔드  >  AngularJS 변수 및 필터 사용 분석

AngularJS 변수 및 필터 사용 분석

高洛峰
高洛峰원래의
2016-12-05 17:06:411056검색

이 문서의 예에서는 AngularJS 변수 및 필터의 사용법을 설명합니다. 참고하실 수 있도록 자세한 내용은 다음과 같습니다.

1. 일부 변수의 작동에 대해

변수 설정:

ng-init="hour=14" //设置hour变量在DOM中 使用data-ng-init 更好些
$scope.hour = 14; //设置hour变量在js中

변수 사용:

(1) DOM 관련 ng-*** 속성

에 변수 이름을 직접 쓰는 경우:

<p ng-show="hour > 13">I am visible.</p>

(2) 컨트롤러 HTML에 있지만 ng 속성

에 없으면 {{변수 이름}}

을 사용하세요.

예:

{{hour}}

(3) 물론 세 번째 방법은

에 개체 이름 $을 추가하는 것입니다. 범위.

$scope.hour

(4) 양식 컨트롤에서 ng-model의 변수는 직접

일 수 있으며 또한 html에서 {{변수 이름}}

<p>Name: <input type="text" ng-model="name"></p>
<p>You wrote: {{ name }}</p>

ng-bind 속성을 통해 변수를 바인딩할 수도 있습니다

<p>Name: <input type="text" ng-model="name"></p>
<p ng-bind="name"></p>

(5) ng 속성이나 변수에서 직접 표현식을 사용할 수 있습니다

는 충족해야 하는 js 구문을 계산하는 데 자동으로 도움을 줍니다

ng-show="true?false:true"
{{5+6}}
<div ng-app="" ng-init="points=[1,15,19,2,40]">
  <p>The third result is <span ng-bind="points[2]"></span></p>
</div>

2. js의 변수 루프

<div ng-app="" ng-init="names=[&#39;Jani&#39;,&#39;Hege&#39;,&#39;Kai&#39;]">
 <ul>
  <li ng-repeat="x in names">
   {{ x }}
  </li>
 </ul>
</div>

3.

필터 설명

통화 금융 형식 형식 번호

필터 배열 항목에서 하위 집합을 필터링하려면 선택하세요.

소문자 소문자
orderBy 표현식으로 배열 정렬
대문자 대문자

예:

<p>The name is {{ lastName | uppercase }}</p>

Of 물론 여러 기능 패키지를 사용할 수 있습니다. |

names | filter:test | orderBy:'country'
<p>The name is {{ lastName | uppercase | lowercase }}</p>
//排序函数的使用
<ul>
 <li ng-repeat="x in names | orderBy:&#39;country&#39;">
  {{ x.name + &#39;, &#39; + x.country }}
 </li>
</ul>
//通过输入内容自动过滤显示结果
<div ng-app="" ng-controller="namesCtrl">
  <p><input type="text" ng-model="test"></p>
  <ul>
   <li ng-repeat="x in names | filter:test | orderBy:&#39;country&#39;">
    {{ (x.name | uppercase) + &#39;, &#39; + x.country }}
   </li>
  </ul>
</div>
테스트 양식 값 필터링

에 따라 이름 배열을 지정한 다음 이름의 하위 요소 국가별로 정렬

사용자 정의 필터:



<!DOCTYPE html>
<html ng-app="HelloApp">
<head>
<title></title>
</head>
<body ng-controller="HelloCtrl">
 <form>
   <input type="text" ng-model="name"/>
 </form>
 <div>{{name|titlecase}}</div>
 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
 <script type="text/javascript">
  // 编写过滤器模块
  angular.module(&#39;CustomFilterModule&#39;, [])
      .filter( &#39;titlecase&#39;, function() {
    return function( input ) {
      return input.replace(/\w\S*/g, function(txt){return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();});
  }
  });
  // 实际展示模块
  // 引入依赖的过滤器模块 CustomFilterModule
  angular.module(&#39;HelloApp&#39;, [ &#39;CustomFilterModule&#39;])
    .controller(&#39;HelloCtrl&#39;, [&#39;$scope&#39;, function($scope){
    $scope.name = &#39;&#39;;
  }])
</script>
</body>
</html>

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.