angular.js - 複数のカスタム ディレクティブを記述する方法は?
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-05-15 17:03:52
0
2
689

それで、ログイン用のものを作成したいのですが、カスタム コマンドで行き詰まっています。
ログインにはアカウント入力ボックスとパスワード入力ボックスが必要です。

  1. IE8互換である必要があるため、PLACEHOLDER 属性を直接使用することはできません。完了するにはカスタム命令を使用する必要があります。

  2. アカウントには、携帯電話、電子メール、または通常のアカウントを使用できます。

  3. 電子メールはサフィックスを自動的に生成する必要があるため、カスタム指示も必要です。 @を入力した後にメールプロンプトを表示するかどうかを設定できます。

  4. アカウントはそれ自体で検証される必要があり、検証を記述するためのカスタム命令 (Angular 公式 Web サイト、カスタム バリデーターに見られる方法) を導入する必要があります。

これを完了するには、複数のカスタム命令を使用する必要があります (もっと良い方法がある場合は、これを使用することもできます。教えてください、ありがとう)。

私の考えは、まずカスタム命令を定義して、必要なときにその PLACEHOLDER を表示できるようにすることです。次に、これに基づいて EMAIL コマンドを定義します。アカウント番号を入力すると、選択用にさまざまなドメイン名のサフィックスが自動的に追加されます。最後に、これに基づいて、現在入力されている内容が使用可能なアカウント (携帯電話/電子メール/共通ユーザー名) であるかどうかを判断する PASSPORT コマンドを定義します。

しかし、ここで問題が発生します。同じスコープ内で複数のカスタム命令を使用したい場合、それらの命令は別々のスコープに存在する必要があります。ただし、これら 3 つのカスタム命令のレイヤーに別々のスコープを設定する方法はありません。エラーが報告されます。これらの命令をそれぞれ分離したい場合は ng-repeat を使うことが考えられますが、 ng-repeat で生成されたクラスは生成後に通常の命令に自動的にコンパイルすることができません...

私が言ったことは少しわかりにくいかもしれませんが、他に良いアイデアがあれば、ぜひ共有してください。最後に、コード...

メインファイル

リーリー リーリー

テンプレートファイル text-placeholder.html

リーリー
曾经蜡笔没有小新
曾经蜡笔没有小新

全員に返信(2)
phpcn_u1582

これは IE8 プレースホルダー互換性に対する解決策です。
個人的には、ロジックが複雑すぎるため、ニーズを完了するための手順を書くことはお勧めしません。 Angular のハイライトが命令であるという意味ではなく、命令はエクスポートする必要があります。単なるログインインターフェースであり、コントローラに検証ロジックを書き込むと、コード量が少なくとも2倍になり、可読性も良くありません。

いいねを押す +0
过去多啦不再A梦

学校を辞めました^^

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート