テストに angularJS を使用する場合、ng-reapt="pro in products | filter:search"
特に大きな質問です
次のテストで、search
入力ボックスに a
を入力すると結果が生成されるのはなぜですか
http://plnkr.co/edit/wZIOF1uAvEgB9UPD1EnW?p=previewhttp://plnkr.co/edit/wZIOF1uAvEgB9UPD1EnW?p=preview
PHP中文网2017-05-15 17:04:05
フィルターするフィールドを指定しない場合、デフォルトのフィルターはすべてのフィールドの値と一致します。 a を入力すると、angular はデフォルトで false を文字列に変換し、a は false と一致します。フィルター条件をこれに変更すると
リーリーa を押すと、結果は表示されません。これは、名前フィールドの値のみがフィルターされることを意味します。
ringa_lee2017-05-15 17:04:05
ng
は、product
の 3 つのフィールド (key
、name
、is_in_presale
) にデフォルト設定されているためです。 > は文字列に変換され、入力と比較されるため、a
は実際には false
の a
と一致します。 true
を入力してみて、結果の違いを感じてみてください。 ng
默认把你product
里三个字段key
,name
,is_in_presale
都转成字符串和你的输入去比较了,所以a
其实匹配到的是false
里的a
。你可以试试输入true
,就感受到结果区别了。
如果需要指定字段进行filter
filter
のフィールドを指定する必要がある場合は、ドキュメントを参照してください:
あるいは私のプランカーを見てください🎜