2017-08-22 13 views
0

私はangular.min.jsファイル(AngularJS v1.6.4)を使用していますなぜAngularJSカスタムフィルタが機能しないのですか?

そして、私は文字列を逆にする簡単なフィルタを実装しようとしています。ここで

は私のコードです:

main.js:

var app = angular.module("angularBlackbox", []); 

app.filter('reverse', function() { 
    return function (item) { 
     item.split("").reverse().join(""); 
    }; 
}); 

app.controller("MyController", function ($scope) { 
    $scope.data = { 
     message: "" 
    }; 

    $scope.reversedMessage = function (message) { 
     return message.split("").reverse().join(""); 
    } 
}); 

はindex.htmlを:

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <title>AngularJS Blackbox</title> 
    <link rel="stylesheet" href="css/bootstrap.min.css"> 
    <link rel="stylesheet" href="css/bootstrap-theme.min.css"> 
</head> 
<body> 
<div ng-app="angularBlackbox"> 
    <div ng-controller="MyController"> 
     <input type="text" ng-model="data.message"> 
     <h1>{{ data.message }}</h1> 
     <h1>{{ reversedMessage(data.message) }}</h1> 
     <h2>{{ data.message | reverse }}</h2> 
    </div> 
</div> 

<script type="text/javascript" src="js/angular.min.js"></script> 
<script type="text/javascript" src="main.js"></script> 
</body> 
</html> 

私は、このような結果を得ます10

だから我々はそれを見ることができます:作品[OK]を結合

  1. データ。
  2. コントローラの機能を反転しましたメッセージが機能します[OK];
  3. フィルターが動作しません[未OK]なぜカスタムフィルタが動作していない

<h2>{{ data.message | reverse }}</h2>見出しは表示されませんか)?

+1

あなたは 'あなた' filter'からreturn'いけない - ' – tymeJV

+0

あなたのフィルタのリターンが欠落している(item.splitを返す戻り値が欠落しています。 。 –

+0

はい、あなたは正しいです... ...' –

答えて

3

returnフィルタからの書式付き出力。あなたはフィルタリングされたデータを返す必要が

app.filter('reverse', function() { 
    return function (item) { 
     //returned reversed string from here. 
     return item.split("").reverse().join(""); 
    }; 
}); 

Check Here

+0

それは動作します!ありがとう –

2

//。

app.filter('reverse', function() { 
    return function (item) { 
     return item.split("").reverse().join(""); 
    }; 
}); 
+1

返信文を忘れました。はい、ありがとうございます。 –

+0

あなたは仲間を歓迎します:-) –

関連する問題