AngularJS - почему не работает контроллер?

0

У меня есть этот простой код в файле app.js:

(function(){
    var app = angular.module('searchHotels', []);

    app.controller = ("PlaceController", function(){
        this.place = shop;
    });

    var shop = {
        name: 'supermarket',
        distance: 100
    };
})();

Вот код файла index.html:

<!doctype.html>
<html ng-app="searchHotels">

<head>
    <script type="text/javascript" src="angular.min.js"></script>
    <script type="text/javascript" src="app.js"></script>
</head>

<body>

    <div ng-controller="PlaceController as placeC">
        <h3> {{placeC.place.name}} </h3>
    </div>

</body>

</html>

На выходе мое выражение {{placC.place.name}} не заменяется данными, которые он должен был показать. Он просто выводит " {{placeC.place.name}} ". Что мне здесь не хватает? Благодарю!

  • 0
    И вы присваиваете undefined this.place как переменная shop ... не определена в этой части кода.
  • 0
    @KrzysztofSafjanowski, нет, на момент вызова функции контроллера - место уже не определено
Показать ещё 1 комментарий
Теги:

1 ответ

5
Лучший ответ

Определение углового контроллера - вызов метода, а не назначение. Правильный код:

app.controller("PlaceController", function(){
    this.place = shop;
});
  • 0
    Я уже чувствую себя глупо. Большое спасибо!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню