2016-03-27 34 views
0

http://imgur.com/xTFVJTA hatanın bir resmidir.

dicym.js

var app = angular.module('diycm', ['ngRoute', 'LocalStorageModule']); 

// setup the routing 
app.config(function ($routeProvider) { 

    $routeProvider 
    .when('/home', { 
     templateUrl: 'views/home.html', 
     controller: 'homeController', 
     title: 'Home' 
    }) 
    .when('/projects', { 
     templateUrl: 'views/projects.html', 
     controller: 'homeController', 
     title: 'Projects' 
    }) 
    .when('/singleProject', { 
     templateUrl: 'views/singleProject.html', 
     controller: 'homeController', 
     title: 'Project Details' 
    }); 

    $routeProvider.otherwise({ redirectTo: "/home" }); 

}); 

// Controls the rootscope 
app.run(function ($rootScope, $route) { 
    $rootScope.$on("$routeChangeSuccess", function (currentRoute, previousRoute) { 
     //Change page title, based on Route information 
     $rootScope.title = $route.current.title; 
    }); 
}); 

homeController.js

app.controller('homeController', function ($scope, $http) { 
    $scope.message = 'Everyone come and look!'; 
}); 

sidebarController.js

app.controller('sidebarController', function ($scope, $location) { 
    $scope.isActive = function (viewLocation) { 
     return viewLocation === $location.path(); 
    }; 
}); 

index.html

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.2/angular.min.js" type="text/javascript"></script> 
<script src="https://code.angularjs.org/1.4.5/angular-route.js" type="text/javascript"></script> 
<script src="js/diycm.js"></script> 
<script src="js/angular-local-storage.min.js"></script> 
<script src="js/controllers/sidebarController.js"></script> 
<script src="js/controllers/homeController.js"></script> 

Bu hatanın neden olabileceği hakkında bir fikri olan var mı? Yeni açısal ve dokümantasyon/geçmiş sorular çok yardımcı olmadı.

+1

Denetleyicinizdeki bağımlılıkları enjekte etmiyorsunuz. Bağımlılıkları enjekte etmeli ve kodu tekrar çalıştırmalısınız. –

cevap

2

Her denetleyici için bağımlılıkları enjekte edin.

1)

app.controller('homeController', ['$scope','$http',function ($scope, $http) { 
    $scope.message = 'Everyone come and look!'; 
}]); 

ve

app.controller('sidebarController',['$scope','$location',function ($scope, $location) { 
    $scope.isActive = function (viewLocation) { 
     return viewLocation === $location.path(); 
    }; 
}]); 

2)

app.controller('homeController',homeController); 
homeController.$inject = ['$scope','$http']; 
function homeController($scope, $http) { 
    $scope.message = 'Everyone come and look!'; 
}]); 

ve

app.controller('sidebarController',sidebarController); 
sidebarController.$inject = ['$scope','$location']; 
function sidebarController($scope, $location) { 
    $scope.isActive = function (viewLocation) { 
     return viewLocation === $location.path(); 
    }; 
}]); 
+0

Ya bu, ya da VS yeniden açılması hile yapmak gibi görünüyordu. Teşekkürler – arthur

İlgili konular