Navbar (main.html):Почему мой взгляд не обновляется при изменении переменной области видимости?
<nav class="navbar navbar-dark bg-primary">
<button class="navbar-toggler hidden-sm-up" type="button" data-toggle="collapse" data-target="#collapseEx2">
<i class="fa fa-bars"></i>
</button>
<div class="container" ng-controller="UpComingGamesCtrl">
<div class="collapse navbar-toggleable-xs" id="collapseEx2">
<a class="navbar-brand" href="#/">VideoGame Releases</a>
<form ng-submit="searchGame()">
<input type="text" id="form1" class="form-control" ng-model="gameToSearch">
</form>
</div>
</div>
</nav>
Контроллер:
...
$scope.games = [];
$scope.searchGame = function() {
if ($scope.gameToSearch) {
console.log('entered with text');
getUpcomingGames.getGame($scope.gameToSearch).get({}, function (data) {
$scope.games = data.results;
});
}
}
upcoming_games_template.html:
<div class="row" ng-repeat="games in games | chunkBy:3">
<div class="col-md-4" ng-repeat="game in games">
<div class="card">
<div class="view overlay hm-white-slight card-image">
<img src="{{game.image.screen_url}}" class="img-fluid" alt="">
<a href="#/">
<div class="mask waves-effect waves-light"></div>
</a>
</div>
<div class="card-block">
<h4 class="card-title">{{game.name}}</h4>
<p class="card-text">{{(game.original_release_date | limitTo: 10) || getFutureReleaseDate(game) }}</p>
<a href="#/" class="center-block btn btn-info waves-effect waves-light">Read more</a>
</div>
</div>
</div>
</div>
Я пытаюсь создать функцию поиска на моей навигационной панели в моей главной .html, и когда пользователь нажимает клавишу ввода, я получаю информацию от внешнего API с помощью этого поиска и обновляю шаблон предстоящих_games. Теперь я знаю, что я вхожу в функцию «searchGame», потому что она регистрируется на консоли, и я знаю, что данные, которые я возвращаю, хороши. Но когда я пытаюсь изменить переменную «$ scope.games = data.results;», представление не обновляется. Теперь, если я создаю одну и ту же форму поиска в файле upcoming_games_template.html, он отлично работает.
Почему это происходит? Я объявляю контроллер в моем файле main.html, поэтому он должен работать одинаково, не так ли?
Я также не думаю, что мне нужно $ scope. $ Apply() в этой ситуации.
спасибо.
Можете ли вы создать jsfiddle для этого кода, чтобы мы могли проверить его там. – Indra
Я бы, но я понятия не имею, как создать угловое приложение там или что-то в этом роде. Никогда не работал с ним раньше. –
http://jsfiddle.net/halirgb/Lvc0u55v/ – Indra