我正在开发一个angularjs项目。我有一个下拉列表,其中有新的电子邮件,新的联系人,新的日历功能。但这些功能正在处理特定页面,就像newmessage功能仅适用于电子邮件页面。
我想从任何地方调用newMessage函数,newAddressbook和new calendar functon ... 你能救我吗?
这是我的功能代码。: -
<style name="RatingBar" parent="Theme.AppCompat">
<item name="colorControlNormal">@color/gray</item>
<item name="colorControlActivated">@color/yellow</item>
答案 0 :(得分:1)
您可能错过的细节可能很少,请尝试将控制器嵌入到您正在使用的相应div中。 或者,您可以将范围声明为“ root ”('$ rootScope')到您的模型中。 希望这会有所帮助。
答案 1 :(得分:1)
这应该适合你。
在app.js中编写以下代码
app.run(['$rootScope', function($rootScope) {
$rootScope.newMessage = function($event) {
// do something
}
$rootScope.newAddressbook = function($event) {
// do something
}
$rootScope.newCalendar = function($event) {
// do something
}
}]);
在Safari和IE中,“javascript:void(0)”被视为不安全,因此请在应用配置中包含以下代码
app.config(['$compileProvider',function($compileProvider) {
$compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|ftp|mailto|javascript|chrome-extension):/);
}])
// html代码
<a ng-href="javascript:void(0)" ng-click="$root.newMessage($event)">Email</a>
<a href="javascript:void(0)" ng-click="$root.newAddressbook($event)">Contact</a>
<a href="javascript:void(0)" ng-click="$root.newCalendar($event)" >Calendar</a>
答案 2 :(得分:0)
var app = angular.module('SOGo.Common')
app.controller('navController', navController);
app.run(['$rootScope', function($rootScope) {
$rootScope.newMessage = function($event) {
// do something
}
$rootScope.newAddressbook = function($event) {
// do something
}
$rootScope.newCalendar = function($event) {
// do something
}
}]);
});