メソッドを次のように設定するという点で、ng-showメソッドに問題があります。
ユーザー名文字列の長さを確認しましたが、正しい長さを報告していても、ng-showメソッドは、キーストロークが続くまで余分なテキストを表示/非表示にしません。キーアップのユーザー名ヘルパーテキストの表示を更新するにはどうすればよいですか?
JSフィドルhttp://jsfiddle.net/FkAkg/8/を見るとどうですか
accountApp.directive("stripCharacters", ['$filter', '$http', function($filter, $http) {
return {
restrict: 'C',
link: function(scope, element) {
element.bind("keyup", function() {
if(scope.account.username !== undefined) {
element.val($filter('stripCharacters')(scope.account.username));
if(scope.account.username.length > 2) {
scope.toggleShowUsername(true);
scope.usernameMessage = scope.account.usernameAvailable;
} else {
scope.toggleShowUsername(false);
}
}
});
}
}
}]);
これを同じ要素のjQueryhide/ showに置き換えることで機能するようになりましたが、Angularでのみ機能することを望んでいました。
乾杯