2016-05-25 3 views
0

最近、ANGULARJSで作業を開始しましたが、ここではガイダンスが必要な場合がありました。私のアプリケーション(ASP NET MVC-ANGULARJS)のメッセージセクションを実装しています。現在、特定のモジュールのメッセージセクションを特定のng-app、特にng-controllerの下に実装しました。今では、別のモジュールの内部で同じ機能を使用する必要があります。それは良いアプローチではなかったng-controllerの下で同じコードを再び複製するようなものです。私はちょうど私のためにアプローチとプラグインと種類をしたいと思ったANGULARJ Sコード。AngularsJsの汎用部分として論理部分を実装します

私はサービスと1つの指令をその特定のng-appの下で使用し、特定のコントローラの中にいくつかの機能を使用しました。私が望むのは、これらのコードを共通のコードにして、ng-appとng-controllerの下で使用することだけです。

これは可能ですか?もしそうなら、どのように達成することができますか?

は、あなたがあなたのメッセージング機能のために2サービス、1つのディレクティブ、およびコントローラなどを使用したクエリが

+0

あなたがここにいくつかのサンプルコードを投稿することができますか?あなたが話しているメッセージセクションは何ですか?この種の通知メッセージはユーザーの操作に基づいていますか? –

答えて

0

不明であったなら、私に教えてください。さまざまなアプリケーションで再利用したい場合は、すべてをモジュールとしてバンドルする必要があります。例えば以下に示すよう

angular.module('customMessaging', []) 
    .controller('messagingCtrl', function(messenger, messageManager) { 
    .... 
    }) 
    .directive('messagingDir', function() { 
    return { 
     controller: 'messagingCtrl' 
     ... 
    } 
    }) 
    .service('messenger', function() { 
    ... 
    }) 
    .service('messageManager', function() { 
    ... 
    }) 

は今、あなたはどこにでもアプリでディレクティブ、サービス、およびコントローラにアクセスするには、角度のアプリケーションのいずれかの依存関係としてこれを指定することができますため

angular.module('myfirstApp', ['customMessaging']); 
angular.module('mySecondApp', ['customMessaging']); 
+1

CustomMessagingはMessage Viewのng-appですか? –

+0

@SelvamM *メッセージビュー*の意味がわかりません。たぶんそれが指令ですか?あなたが再利用する必要がある* view *テンプレートは、指示でなければなりません。'CustomMessaging'を従属モジュールとして追加すると、アプリケーション内のすべてのモジュールにアクセスできます。アプリケーションは 'ng-app'を1つだけ持つべきです –

+0

$ scopeを挿入して$ scope.fn = {}をカスタムメッセージングに入れることができ、カスタムメッセージングモジュールを注入して呼び出すことはできますか? –

0

感謝を提案。私は、サービス、ディレクティブ、コントローラ関連の関数などのメッセージ関連の関数を別々のJavaScriptファイルに移動しました。このJavaScriptファイルを呼び出すと、メッセージ関連の機能が必要になります。

JSをMessage.JSとしましょう。 Message.JSでは、私はapp変数を使用しました(JS Specificからページにグローバルにインスタンス化されたアプリケーション)。メッセージコントローラはそのアプリに該当するので、私は私のmessage.JSで同じアプリを使用している、そのページに固有の

JS

var app = angular.module('appname',[]); 
app.controller(...) 

Message.JS

app.service(...) 

app.controller('messagecontroller',[]...) 

私はMessageController内の関数を呼び出す必要があり、これまで私はhttp://www.dotnet-tricks.com/Tutorial/angularjs/HM0L291214-Understanding- $は、放射this.For詳細情報を達成するために、角にブロードキャストを使用します - $ブロードキャスト・アンド・$にインAngularJS.html

よろしく、
Selvam.M

関連する問題