1

私はフィルターを持っています

angular.module('filters', []).filter('check', function(data) 
{
  return function(name)
   {
     var a=new Array();
     a[0]="hello";
     a[1]="hi";
     return a;
   };
}); 

ご覧のとおり、フィルターは配列を返しています。テンプレート (html ページ) のコンテンツをトラバースするにはどうすればよいですか。

{{name|check:data}}

フィルターを呼び出していますが、結果は次のように返されます。["hello","hi"]

テンプレート内の配列をトラバースするにはどうすればよいですか。助けてください。

4

1 に答える 1

1

ng-repeat でフィルターを使用できます。

デモ: http://jsfiddle.net/sunnycpp/YbdXQ/7/

<div ng-controller="myCtrl">
    <input type="text" ng-model="strInput" >
    <ul>
        <li ng-repeat="text in strInput|split">
            {{text}}
        </li>
    </ul>
</div>


var angModule = angular.module('myApp', []);
angModule.filter('split',function() {
    return function(strData) {
        return strData.split(" ");
    }
});

angModule.controller("myCtrl", function($scope) {
    $scope.strInput = "Provide your input here";
});
于 2013-01-23T06:43:14.783 に答える