デリミタのオプションの引数を取ることができるフィルタtokenizeを実装しています。フィルタメソッドを使用してオプション引数を指定する角度
デフォルトでは、フィルターは指定された入力の個々の文字のコンマ区切り文字列を生成します。区切り文字が提供されている場合、入力文字列の個々の文字は、指定された区切り文字で区切られます。
ませトークンはありません:(トークン化がカンマに解決):提供
h,e,l,l,o,,w,o,r,l,d
トークン:
h#e#l#l#o##w#o#r#l#d.
:で
{{"hello world"|tokenize:'#'}}
結果で
{{"hello world"|tokenize}}
結果
問題は、オプションの引数を渡して、オプションの区切り文字に基づいて文字列を区切ることができないことです。
HTMLのコード:
<!doctype html>
<html ng-app="myApp">
<head>
<script src="angular.js"></script>
<script src="filter.js"></script>
</head>
<body>
<div ng-controller='HelloController'>
<label>Input</label><input ng-model='greeting'><br><br>
<label>Delimeter</label><input ng-model='delimeter'><br>
<p>{{greeting | tokenize}}(default)</p>
<p>{{greeting| tokenize:arg1}}(with Option)</p>
</div>
</body>
</html>
と私のfilter.jsコードは次のとおりです。
angular.module('myApp', [])
.controller('HelloController', function($scope) {
$scope.greeting = "Angular is Awesome";
//$scope.delimeter="#";
})
.filter('tokenize', function() {
return function(value) {
if (angular.isString(value)) {
var abc = [];
abc = value.split('');
value = abc.join();
return value;
} else {
return value;
}
};
});
@emedを見て下に広がる。 "あなたのフィルタ関数で別のパラメータを宣言してください"。その後、オプションのparamまたは ''で分割します。 – o4ohel
私はデフォルトの区切り文字とオプションの引数に付属している他の2つの値を返さなければならない場合はどうすればよいですか?どのようにそれを行うことができます。 – Rahila
私はh、e、l、l、o、w、o、r、l、d(デフォルト)ともう一つのh#e#l#l#o#w#o #r#l#d。 – Rahila