Контроллеры в AngularJS не работает.Я использую $ StateProvider.Проект на ASP.NET-Core - PullRequest
0 голосов
/ 25 декабря 2018

Я стараюсь сделать контроллер для каждой своей страницы, но у меня есть проблема.Ошибки в консоли, а элементы контроллера не работают на html-странице.

Я использую код $ stateProvider ниже, это код конфигурации, он работает нормально.

 var app = angular.module("appmyApp", ['ui.router']);

 app.config(['$stateProvider', '$urlRouterProvider', '$locationProvider',
  function ($stateProvider, $urlRouterProvider, $locationProvider) {

     // For any unmatched url, redirect to root
     $urlRouterProvider.otherwise("/");

     $stateProvider
         .state('header', {
             abstract: true,
             templateUrl: '/app/pages/header.html'
         })

         .state('home', {
             url: '/',
             templateUrl: 'app/pages/home.html',
             controller: 'HomeController'
         })



 }]);

Когда я добавляю в конфигурацию строку-контроллер: 'HomeController'.У меня ошибка в консоли.

angularjs.js:127 Error: [$controller:ctrlreg] 
http://errors.angularjs.org/1.7.5/$controller/ctrlreg?p0=HomeController
at angularjs.js:7
at angularjs.js:97
at Object.<anonymous> (viewDirective.ts:410)
at angularjs.js:17
at Ba (angularjs.js:89)
at q (angularjs.js:73)
at g (angularjs.js:64)
at angularjs.js:64
at angularjs.js:69
at n (viewDirective.ts:328) "<div ui-view="" class="ng-scope">"

Когда я ее удаляю, в консоли нет никаких mostakes.

.state('home', {
             url: '/',
             templateUrl: 'app/pages/home.html'
         })

В обоих случаях страница открывается хорошо.Маршрут это работа.Но контроллер не работает.

Код контроллера

var app = angular.module("appTradeRoom", []);
app.controller("HomeController", function ($scope) {
$scope.name = "Hello";
});

Но на мой взгляд, у меня есть это.

http://prntscr.com/lzeyy5

Скрипты home-controller.js Я добавил в начало home.html

<script src="/app/pages/home-controller.js"></script>

Я добавил ng-controller = "HomeController" в тело в html-странице home.html, но это не работает.Какая проблема.Я использую последний уголJS

Вот ссылка на index.html

http://prntscr.com/lzf0cd

1 Ответ

0 голосов
/ 25 декабря 2018

Изменение:

var app = angular.module("appTradeRoom", []);
app.controller("HomeController", function ($scope) {

На

var app = angular.module("appTradeRoom");
                                   // ^^ no dependencies
app.controller("HomeController", function ($scope) {

Когда нет зависимостей angular.module() будет действовать как получатель существующего модуля, в противном случае он создаст новый

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...