创建通用控制器功能 [英] Creating common controller functions

查看:95
本文介绍了创建通用控制器功能的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我如何建立某种形式的utils的捆绑,这将是访问从我的所有控制器?
我有这条路线code我的主要模块:

How do I create some sort of utils bundle that would be accessible from all my controllers? I have this route code in my main module:

'use strict';

/* App Module */

angular.module('lpConnect', []).
    config(['$routeProvider', function($routeProvider) {
    $routeProvider.
        when('/home', {template: 'views/home.html',   controller: HomeCtrl}).
        when('/admin', {template: 'views/admin.html',   controller: AdminCtrl}).
        when('/connect', {template: 'views/fb_connect.html',   controller: MainAppCtrl}).
        otherwise({redirectTo: '/connect'});
}]);

和我想,这将是共同的 HomeCtrl AdminCtrl MainAppCtrl功能

and I want a function that will be common to HomeCtrl,AdminCtrl,MainAppCtrl

我应该怎么做,在AngularJS?

How should I do it in AngularJS?

推荐答案

在角度来定义普通code的方式是通过服务。

The way to define common code in angular is through Services.

您需要定义一个新的服务,像这样:

You would define a new service like so :

.factory('CommonCode', function ($window) {
        var root = {};
        root.show = function(msg){
            $window.alert(msg);
        };
        return root;
    });

在你的控制器,你会注入这个service..like这样

In your controller you would inject this service..like so

function MainAppCtrl($scope,CommonCode)
{
     $scope.alerter = CommonCode;
     $scope.alerter.show("Hello World");
}

就包括普通code作为参数传递给你的控制器功能..角将其注入照顾你(阅读依赖关系注入..to知道这里发生了什么。)

Just include CommonCode as an argument to your controller function.. Angular will take care of injecting it for you ( Read on Dependancy Injection ..to understand what is happening here. )

这篇关于创建通用控制器功能的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆