【AngularJs】factory实现简单的网页公共头部

本实例使用factory配合路由实现最简单的公共页头。
html代码:
    <div ng-controller="commonHeadCtrl">
        <div class="title_wrap">
            <div class="title_l inline-block"></div>
            <h1>{{title}}</h1>
            <div class="title_r block"><a href="">+</a></div>
        </div>
        <hr class="green" />
    </div>
js代码:
    var commonHead = angular.module('commonHead',[]);

    commonHead.factory('commonTitleFac',[ function () {
        var commonTitleFac = {};
        var headTitle;

        commonTitleFac.setTitle = function (title) {
            headTitle = title;      
        };

        commonTitleFac.getTitle = function () {
            return headTitle;
        };
        return commonTitleFac;
    }]);

    commonHead.controller('commonHeadCtrl',['$scope','$state','$http','commonTitleFac',function($scope,$state,$http,commonTitleFac){

        $scope.$watch(commonTitleFac.getTitle, function (newVal, oldVal, scope) {
            $scope.title = newVal;
        });
    }]);
在主页面上因入此js以及用路由引入公共页头。
html代码:
    <!DOCTYPE html>
    <html lang="en" ng-app="adProgramMage">
    <head>
        <meta charset="UTF-8">
        <title>云贴-广告管理</title>
        <link href="/css/base.css" type="text/css" rel="stylesheet" />

        <script src="/js/angular/angular.js" type="text/javascript"></script>
        <script src="/js/angular/angular-ui-router.js" type="text/javascript" charset="utf-8"></script>

        <script src="/js/commonHead.js" type="text/javascript" charset="utf-8"></script>

        <script src="/js/adProgram.js" type="text/javascript" charset="utf-8"></script>
    </head>
        <body>
            <div ui-view="commonHead"></div>

            <div ui-view="adProgramContent"></div>

            <div ui-view="commonFoot"></div>
        </body>
    </html>
js代码:
    'user strict';

    var condition = "";

    var getUserAdProgram = "";

    var adProgramMage = angular.module('adProgramMage',['ui.router','commonHead']);

    adProgramMage.config(['$stateProvider','$urlRouterProvider',function($stateProvider,$urlRouterProvider){
        $urlRouterProvider.otherwise(condition);
        $stateProvider.state('adProgramMage',{
            url:condition,
            views:{
                'adProgramContent':{
                    templateUrl:'/views/adProgramContent.html'
                },
                'commonHead' : {
                    templateUrl:'/views/common/commonHead.html'
                },
                'commonFoot' : {
                    templateUrl:'/views/common/commonFoot.html'
                }
            }
        });
    }]);

    adProgramMage.controller('adProgramCtrl',['$scope','$http','$stateParams','commonTitleFac','$location',function($scope,$http,$stateParams,commonTitleFac,$location){
        commonTitleFac.setTitle("广告管理");
    }]);
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值