Contorller for ng-include partial undefined when minified

226 Views Asked by At

I tried to assign controller to navigation menu using ng-include directive. This works fine in development environment but when I minify javascript code NavigationController gives undefined.

Partial include in index file

<div ng-include="'partials/navigation.html'"></div>

partials/navigation.html file

<div ng-controller="NavigationController">
    <ul class="mainMenuWrapper" ng-show="nav.showMenu">
        <li class="menu"></li>
        <li class="menu"></li>
        <li class="menu"></li>
        <li class="menu"></li>
    </ul>
</div>

Main controller file for angular js

define(['angular', 'services'], function (angular) {
'use strict';

    return angular.module('myApp.controllers', ['myApp.services'])

        .controller('NavigationController',['$scope','$injector',function ($scope,  $injector){
            require(['controllers/navigationCtrl'],function(navigationCtrl){
                $injector.invoke(navigationCtrl, this , {'$scope' : $scope});
            });
        }])

});

controllers/navigationCtrl.js file

  define([], function() {
     return ['$scope','$location',
        function($scope, $location) {

            $scope.$apply();
        }
   ];
});
0

There are 0 best solutions below