それで、ログイン用のものを作成したいのですが、カスタム コマンドで行き詰まっています。
ログインにはアカウント入力ボックスとパスワード入力ボックスが必要です。
IE8と互換である必要があるため、PLACEHOLDER 屬性を直接使用することはできません。完了するにはカスタム命令を使用する必要があります。
アカウントには、攜帯電話、電子メール、または通常のアカウントを使用できます。
電子メールはサフィックスを自動的に生成する必要があるため、カスタム指示も必要です。 @
を入力した後にメールプロンプトを表示するかどうかを設(shè)定できます。
アカウントはそれ自體で検証される必要があり、検証を記述するためのカスタム命令 (Angular 公式 Web サイト、カスタム バリデーターに見られる方法) を?qū)毪工氡匾ⅳ辘蓼埂?
これを完了するには、複數(shù)のカスタム命令を使用する必要があります (もっと良い方法がある場合は、これを使用することもできます。教えてください、ありがとう)。
私の考えは、まずカスタム命令を定義して、必要なときにその PLACEHOLDER を表示できるようにすることです。次に、これに基づいて EMAIL コマンドを定義します。アカウント番號を入力すると、選択用にさまざまなドメイン名のサフィックスが自動的に追加されます。最後に、これに基づいて、現(xiàn)在入力されている內(nèi)容が使用可能なアカウント (攜帯電話/電子メール/共通ユーザー名) であるかどうかを判斷する PASSPORT コマンドを定義します。
しかし、ここで問題が発生します。同じスコープ內(nèi)で複數(shù)のカスタム命令を使用したい場合、それらの命令は別々のスコープに存在する必要があります。ただし、これら 3 つのカスタム命令のレイヤーに別々のスコープを設(shè)定する方法はありません。エラーが報告されます。これらの命令をそれぞれ分離したい場合は ng-repeat を使うことが考えられますが、 ng-repeat で生成されたクラスは生成後に通常の命令に自動的にコンパイルすることができません...
私が言ったことは少しわかりにくいかもしれませんが、他に良いアイデアがあれば、ぜひ共有してください。最後に、コード...
メインファイル
リーリー リーリーテンプレートファイル text-placeholder.html
リーリーこれは IE8 プレースホルダー互換性に対する解決策です。
個人的には、ロジックが複雑すぎるため、ニーズを完了するための手順を書くことはお勧めしません。 Angular のハイライトが命令であるという意味ではなく、命令はエクスポートする必要があります。単なるログインインターフェースであり、コントローラに検証ロジックを書き込むと、コード量が少なくとも2倍になり、可読性も良くありません。