Pendant l'étude du tutoriel angulairejs, ng-view n'est pas chargé dans le modèle
Mais il peut être chargé dans le modèle selon la méthode d'écriture officielle, mais ma propre méthode d'écriture ne fonctionne pas !
Quelle est la différence entre ma méthode d'écriture et la méthode officielle ? Pourquoi ne peut-elle pas être chargée dans le modèle ?
Ce qui suit est la structure du répertoire de mon projet
app.js
'use strict';
/* App Module */
angular.module('phonecatApp',['ngRoute'])
.config(['$routeProvider',function($routeProvider) {
$routeProvider
.when('/phones',{
templateUrl:'partials/phone-list.html',controller:'PhoneListCtrl'})
.when('/phones/:phoneId', {
templateUrl:'partials/phone-detail.html',controller:'PhoneDetailCtrl'})
.otherwise({redirectTo: '/phones'});
}]);
controller.js
angular.module('phonecatApp',[])
.controller('PhoneListCtrl',['$scope','$http', function($scope, $http) {
$http.get('phones/phones.json')
.success(function(data) {
$scope.phones = data.splice(0,5);
});
$scope.orderProp = 'age';
}])
.controller('PhoneDetailCtrl',['$scope','$routeParams',function($scope,$routeParams) {
$scope.phoneId = $routeParams.phoneId;
}]);
app.js
var phonecatApp = angular.module('phonecatApp', [
'ngRoute',
'phonecatControllers'
]);
phonecatApp.config(['$routeProvider',
function($routeProvider) {
$routeProvider.
when('/phones', {
templateUrl: 'partials/phone-list.html',
controller: 'PhoneListCtrl'
}).
when('/phones/:phoneId', {
templateUrl: 'partials/phone-detail.html',
controller: 'PhoneDetailCtrl'
}).
otherwise({
redirectTo: '/phones'
});
}]);
controller.js
var phonecatControllers = angular.module('phonecatControllers', []);
phonecatControllers.controller('PhoneListCtrl', ['$scope', '$http',
function($scope, $http) {
$http.get('phones/phones.json').success(function(data) {
$scope.phones = data;
});
$scope.orderProp = 'age';
}]);
phonecatControllers.controller('PhoneDetailCtrl', ['$scope', '$routeParams',
function($scope, $routeParams) {
$scope.phoneId = $routeParams.phoneId;
}]);
angular.module('phonecatApp',[]) Lorsque vous utilisez un module existant, n'ajoutez pas de dépendances ultérieures. . .
angular.module('phonecatApp'). . . C'est OK!
Vous avez redéfini un module nommé phonecatApp de la même manière que ci-dessus, et la dépendance est vide [].
Le module a été redéfini, changez le nom dans le contrôleur et l'application en dépend