Angular typeahead бросает меня. Непринятая ошибка: нет модуля: angularTypeahead. Я использую угловой тип в моем проекте. Я добавил скрипт к моему index.html, вот так:
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.0.8/angular.js"></script>
<script src="http://angular-ui.github.com/bootstrap/ui-bootstrap-tpls-0.6.0.js"></script>
<script src="js/angular/app.js"></script>
index.html:
<div class="row center" ng-app="angularTypeahead">
<div style="margin-top:0px;" class="col l12 s12 m12" ng-controller="TypeaheadCtrl">
<h4 class="header col s12 light">NAME
<input name="location" id="location" type="text"
placeholder="Change Location" ng-model="selected"
typeahead="area for area in areas| filter:$viewValue | limitTo:8"
class="form-control">
</h4>
<a class="waves-effect waves-light btn red">
<i class="material-icons left"></i>Change Location</a>
</div>
</div>
app.js:
(function(){
var app = angular.module('angularTypeahead',['ui.bootstrap']);
app.controller('TypeaheadCtrl', function($scope) {
var areas = ["Alabama", "Alaska", "Arizona", "Arkansas",
"California", "Colorado", "Connecticut", "Delaware",
"Florida", "Georgia", "Hawaii", "Idaho", "Illinois",
"Indiana", "Iowa", "Kansas", "Kentucky", "Louisiana",
"Maine", "Maryland", "Massachusetts", "Michigan",
"Minnesota", "Mississippi", "Missouri", "Montana",
"Nebraska", "Nevada", "New Hampshire", "New Jersey",
"New Mexico", "New York", "North Dakota", "North Carolina",
"Ohio", "Oklahoma", "Oregon", "Pennsylvania",
"Rhode Island", "South Carolina", "South Dakota",
"Tennessee", "Texas", "Utah", "Vermont", "Virginia",
"Washington", "West Virginia", "Wisconsin", "Wyoming"];
$scope.selected = undefined;
$scope.areas = areas;
});
});
Я нашел много дискуссий относительно проблемы, но ничего не изменило ошибку. Надеюсь, кто-то поможет в этом вопросе. Благодарю!..
Вы должны вызвать функцию со скобкой. (function(){... })()
Или просто не завершайте функцию.
var app = angular.module();
app.controller();
В вашем приложении app.js предполагается, что ваша функция будет выполняться самостоятельно или так называемая Expression Expression Expression (IIFE). Для этого вам нужно изменить самую последнюю строку:
})();
Дополнительная информация о IIFE:
https://en.wikipedia.org/wiki/Immediately-invoked_function_expression
ng-view
? docs.angularjs.org/api/ngRoute/directive/ngView