0

Имея странную ошибку здесь, я могу успешно переключиться на другие виды, но моя проблема в том, что даже простая переменная не может «достигать» представления. Кто-нибудь видит мою (возможно, тупую) ошибку?Переменная AngularJS не сохраняется для просмотра

index.html

<html ng-app="myApp"> 
<head> 
    <title>AngularJS oefening</title> 
    <link href="css/bootstrap.min.css" rel="stylesheet" /> 
</head> 
<body> 
    <div class="container"> 
     <header> 
      <a href="#/home">Home</a> 
      <a href="#/about">Over ons</a> 
      <a href="#/contact">Contact</a> 
     </header> 
     <div ng-view> 

     </div> 
     <footer> 
      Copyright... 
     </footer> 
    </div> 

    <script src="js/angular/angular.min.js"></script> 
    <script src="js/angular/angular-route.min.js"></script> 
    <script src="js/controller.js"></script> 
</body> 

Controller.js

angular.module('myApp', ['ngRoute']) 
    .config(moduleConfig); 

moduleConfig.$inject = ['$routeProvider']; 

function moduleConfig($routeProvider) { 
    $routeProvider.when('/', { 
     templateUrl: 'views/home.html', 
     controller: 'homeController', 
     contollerAs : 'homeCtrl' 
    }) 
    .when('/home', { 
     templateUrl: 'views/home.html', 
     controller: 'homeController', 
     contollerAs : 'homeCtrl' 
    }) 
    .when('/about', { 
     templateUrl: 'views/about.html', 
     controller: 'aboutController', 
     contollerAs : 'aboutCtrl' 
    }) 
    .when('/contact', { 
     templateUrl: 'views/contact.html', 
     controller: 'contactController', 
     contollerAs : 'contactCtrl' 
    }) 
    .otherwise({ 
     redirectTo: '/' 
    }); 
}; 

angular.module('myApp') 
    .controller('homeController', homeController) 
    .controller('aboutController', aboutController) 
    .controller('contactController', contactController); 

function homeController() { 
    this.msg = "Hello home"; 
}; 

function aboutController() { 
    this.msg = "Hello about"; 
}; 

function contactController() { 
    this.msg = "Hello contact"; 
}; 

home.html

<div> 
    <h1>{{homeCtrl.msg}}</h1> 
</div> 

Я проверил с жестко закодированным текстом, и он дает правильный вид, когда я использую меню для навигации. Я также пробовал записывать различные объекты (homeController, homeCtrl, ...). Только переменная этого НЕ определена, но она содержит только $ scope.

Заранее спасибо.

+0

Вам не хватает <база HREF = "/" /> в головной секции. Попробуйте сделать console.log в каждом контроллере. Это должно позволить вам понять, правильно ли они подключаются. – Lazyexpert

+0

Я не получаю никаких ошибок в консоли, поэтому почему я должен использовать тег ? Я попытался запустить консоль в контроллерах, и они появляются. ** EDIT: ** Он даже показывает тег

в HTML, когда я открываю представление (

) – StephanB

+0

Какую версию Угловая вы используете? –

ответ

0

После обыска почти 2 часа .. Я нашел свою тупую глупую ошибку.

contollerAs -> продолжение г ollerAs

+0

Хорошее место, это одна из проблем с JS, вы можете добавить параметры ad-infinitum без каких-либо ошибок. – PeterS

+0

Да, действительно. Мне так странно, что Angular не записывала никаких проверок по этим параметрам. Не могу себе представить, что я первый с этой «проблемой» ха-ха. – StephanB