У меня есть этот простой код в моем app.js файле:AngularJS - почему контроллер не работает?
(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}}« сам. Что мне здесь не хватает? Благодаря!
И вы назначаете 'undefined'' this.place', поскольку переменная 'shop' ... не определена в этой части кода. –
@KrzysztofSafjanowski, nope, на момент вызова функции контроллера - место уже не определено – Grundy
@KrzysztofSafjanowski абсолютно правильно! Просто поставив объект магазина до того, как контроллер сделал все правильно, я забыл, что JS читается только сверху вниз :) –