0

Не помещайте это как дубликат. Я видел много дубликатов этой ошибки, отправленной в переполнение стека. Но, к моему делу, у меня есть самое простое из приложений, размещенных там, но получаю ту же ошибку.Ошибка: [ng: areq] http://errors.angularjs.org/1.3.8/ng/areq?p0=homeIndexController&p1=not функция, полученная undefined

Я пытаюсь изучить Угловой JS. Ниже мой _Layout.chtml выглядит.

<!DOCTYPE html> 
<html lang="en" data-ng-app=""> 
<head> 
    <meta charset="utf-8"> 
    <!-- Title here --> 
    <title>@ViewBag.Title - MessageBoard</title> 
    <!-- Description, Keywords and Author --> 
    <meta name="description" content="Your description"> 
    <meta name="keywords" content="Your,Keywords"> 
    <meta name="author" content="ResponsiveWebInc"> 
    <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
    <!-- Stylesheets --> 
    <link href="~/Content/Template/css/bootstrap.min.css" rel="stylesheet"> 
    <link href="~/Content/Template/css/ddlevelsmenu-base.css" rel="stylesheet"> 
    <link href="~/Content/Template/css/ddlevelsmenu-topbar.css" rel="stylesheet"> 
    <link href="~/Content/Template/css/flexslider.css" rel="stylesheet"> 
    <link href="~/Content/Template/css/prettyPhoto.css" rel="stylesheet"> 
    <link href="~/Content/Template/css/font-awesome.min.css" rel="stylesheet"> 
    <link href="~/Content/Template/css/blue.css" rel="stylesheet"> 
    <link href="~/Content/Template/css/style.css" rel="stylesheet"> 
    <link href="~/Content/Site.css" rel="stylesheet"> 
    <!-- Favicon --> 
    <link rel="shortcut icon" href="~/Content/Template/img/favicon/favicon.png"> 
</head> 

<body> 
    <div class="main"> 
     <div class="container"> 
      <div class="row"> 
       @RenderBody() 
      </div> 
     </div> 
    </div> 
    <script src="~/Scripts/jquery-2.1.1.min.js"></script> 
    <script src="~/Scripts/angular.min.js"></script>  
    <script src="~/Scripts/bootstrap.min.js"></script> 
    <script src="~/Scripts/easing.js"></script> 
    <script src="~/Scripts/ddlevelsmenu.js"></script> 
    <script src="~/Scripts/flexslider.js"></script> 
    <script src="~/Scripts/jquery.prettyPhoto.js"></script> 
    <script src="~/Scripts/respond.min.js"></script> 
    <script src="~/Scripts/html5shiv.js"></script> 
    <script src="~/Scripts/custom.js"></script>  
    @RenderSection("PageScripts", required: false) 
</body> 
</html> 

Мой Index.chtml, как показано ниже:

@{ 
    ViewBag.Title = "Home Page"; 
} 
@section PageScripts 
{ 
    <script src="~/js/home-index.js"></script> 
} 
<div data-ng-controller="homeIndexController"> 
    <div>Test</div> 
</div> 

Мой дом-index.js файл, как показано ниже:

//home-index.js 
if (window.console) { console.log("In home-index"); } 
function homeIndexController() { 
    alert("Inside the home index controller"); 
} 

Кроме того, я вижу, что замена данных нг -app и data-ng-контроллер с ng-app и ng-controller не исправляют проблему, как предлагали некоторые из моих друзей.

В консоли, я вижу, что индекс In home напечатан, но функция не определена. Я проверил функцию Name и совпадал с объявлением контроллера.

HTML1300: Navigation occurred. 
File: localhost:50272 
In home-index 
Error: [ng:areq] http://errors.angularjs.org/1.3.8/ng/areq?p0=homeIndexController&p1=not%20a%20function%2C%20got%20undefined 
    at Qb (http://localhost:50272/Scripts/angular.min.js:19:411) 
    at sb (http://localhost:50272/Scripts/angular.min.js:20:1) 
    at Anonymous function (http://localhost:50272/Scripts/angular.min.js:76:95) 
    at Anonymous function (http://localhost:50272/Scripts/angular.min.js:57:255) 
    at s (http://localhost:50272/Scripts/angular.min.js:7:406) 
    at v (http://localhost:50272/Scripts/angular.min.js:57:124) 
    at g (http://localhost:50272/Scripts/angular.min.js:52:9) 
    at g (http://localhost:50272/Scripts/angular.min.js:52:26) 
    at g (http://localhost:50272/Scripts/angular.min.js:52:26) 
    at g (http://localhost:50272/Scripts/angular.min.js:52:26) 
SEC7115: :visited and :link styles can only differ by color. Some styles were not applied to :visited. 
File: localhost:50272 

Любые предложения приветствуются.

+0

'Пожалуйста, не отмечайте это как дубликат. Я видел много дубликатов этой ошибки, размещенных в переполнении стека. «Извините, это дубликат. Пожалуйста, прочитайте ответ, и это именно то, что и ваша проблема. – PSL

+0

@PSL, спасибо. Ты да, мужчина! – user007

ответ

0

Я думал сначала не публиковать ответ. Тогда я подумал, что для новичков, подобных мне, было бы здорово знать, что многие из самых простых угловых примеров рассказывают об использовании объявления глобального контроллера в глобальной области. Технические подробности об этом можно найти: here. Оцените усилия PSL, чтобы быстро направить меня в нужное место.

я представил «приложение» к нг-приложение

<html lang="en" data-ng-app="app"> 

и изменил мой яваскрипта вызов, как показано ниже:

angular.module('app', []).controller('homeIndexController', function homeIndexController($scope) { 
    alert("Inside the home index controller"); 
}); 
Смежные вопросы