0

最初の AngularJS + C# Web アプリを構築するときに少し問題があります。ここにはプラグイン (jQuery) があり、任意の入力からメソッドを呼び出すことができ、入力フィールドに小さな警告が表示されます。メソッドは好きです

user_email.warning('invalid email');

これは私たちにとって非常に簡単です。は、吹き出しを表示したいuser_emailHTML 要素 ( ) です。input type='text'

しかし、angularJSを使用すると、これをどのように達成できるかわかりません。私はコントローラーから Web サービスを呼び出しています。Webサービスから「無効な電子メール/電子メールが使用されています」というメッセージが返され、この警告を送信する必要がありますが、コントローラ内では「どの入力がそれであるかわかりません」。私がフィールドの権限を持っていることは明らかですが、コントローラーがこのメソッドを呼び出すと奇妙に聞こえnameます。id概念について、またそれが良いアプローチであるかどうかを教えてもらえますか?

4

1 に答える 1

1

dom 操作の大部分はディレクティブから行われます。カスタム ディレクティブを定義することができます。それでうまくいくと思います。

//Inside directive
var ddo = {  //directive definition object
    scope : {
      msg : '=message'
    },
    link : function(scope, el, attrs) {
        angular.element(el).warning(scope.msg);
    }
}

//In html
<input my-directive message="someVar" />

//In controller
controllerScope.someVar = /* call to your web service */

編集:ブログの追加

http://www.codeproject.com/Articles/607873/Extending-HTML-with-AngularJS-Directives http://blog.brunoscopelliti.com/a-directive-to-manage-file-upload-in-an-angularjs -応用

ブログではありませんが、いくつかの優れたディレクティブの実装です。例とその仕組みを見ると、 http://mgcrea.github.io/angular-strap/を理解するのに役立つことがあります

于 2013-07-29T02:56:46.843 に答える