この記事の例では、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) もちろん、3番目の方法は、jsで上記を使用することです
とオブジェクト名$scope.
$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=['Jani','Hege','Kai']"> <ul> <li ng-repeat="x in names"> {{ x }} </li> </ul> </div>
3.フィルター 財務形式で数値を書式設定する
filter 配列項目からサブセットをフィルターする場合に選択します。小文字 小文字
orderBy 式で配列を並べ替えます
大文字 大文字
例:
<p>The name is {{ lastName | uppercase }}</p>
<p>The name is {{ lastName | uppercase | lowercase }}</p> //排序函数的使用 <ul> <li ng-repeat="x in names | orderBy:'country'"> {{ x.name + ', ' + 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:'country'"> {{ (x.name | uppercase) + ', ' + x.country }} </li> </ul> </div>
は、テスト フォームの値
に従って names 配列内の項目をフィルターし、name のサブ要素 country によって並べ替えます
カスタム フィルター:
<!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('CustomFilterModule', []) .filter( 'titlecase', function() { return function( input ) { return input.replace(/\w\S*/g, function(txt){return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();}); } }); // 实际展示模块 // 引入依赖的过滤器模块 CustomFilterModule angular.module('HelloApp', [ 'CustomFilterModule']) .controller('HelloCtrl', ['$scope', function($scope){ $scope.name = ''; }]) </script> </body> </html>