我最近开始研究ANGULARJS,我遇到了一个需要一些指导才能完成的案例。我在我的应用程序中实现了一个消息部分( ASP NET MVC - ANGULARJS )。目前我已经针对特定 ng-app 下的特定模块实现了消息部分。的纳克控制器即可。现在我需要在另一个模块中使用相同的功能。这就像在ng-controller下ng-app再次复制相同的代码一样,这不是一个好方法。我只想和我的 ANGULARJ S代码一样,即插即用。
我在特定的ng-app下使用了 2服务,1指令,并在特定控制器中使用了一些功能。我想要的只是让这些代码成为一个通用代码,并在任何ng-app和ng-controller下使用。
这可能吗?如果是这样我怎么能实现。
如果查询不清楚,请告诉我
答案 0 :(得分:0)
您说您使用了2个服务,1个指令和控制器等来实现您的消息传递功能。如果要在各种应用程序中重复使用它,则需要将所有这些作为模块捆绑。例如:
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 :(得分:0)
感谢您的建议。我已将与消息相关的函数(如服务,指令和控制器相关函数)移动到单独的JavaScript文件中。并调用了这个JavaScript文件,我需要与消息相关的功能。
让我们说JS为Message.JS。在Message.JS中,我使用了app变量(从JS Specific到页面全局的实例化应用程序)。
特定于该页面的JS
var app = angular.module('appname',[]);
app.controller(...)
<强> Message.JS 强>
我在我的message.JS中使用了相同的应用程序,因为消息控制器属于该应用程序。
app.service(...)
app.controller('messagecontroller',[]...)
当我需要在MessageController中调用一个函数时,我将使用角度来实现这个。有关更多信息http://www.dotnet-tricks.com/Tutorial/angularjs/HM0L291214-Understanding- $ emit, - $ broadcast-and- $ on-in-AngularJS.html
的问候,
的 Selvam.M 强>