ng-Route не загружает представление, отображается пустой экран без каких-либо ошибок

Я пытаюсь создать приложение в angular, используя ng-route, но не могу заставить его работать.

Я искал проблему и пробовал предложения, например, переместить мое ng-приложение, но ничего не работает.

Я добавил ссылку на плункер ниже

http://plnkr.co/edit/a8VIRzloIMqANK4f8YXb?p=preview

Может ли кто-нибудь помочь

добавление кода сюда тоже

индекс HTML

<!DOCTYPE html>
<html >
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width">
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap-theme.min.css">
    <script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.5/angular.min.js"></script>
    <script type="text/javascript" src="dist/ng-table.min.js"></script>
    <link rel="stylesheet" href="dist/ng-table.min.css">
    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.3.15/angular-route.min.js"></script>
    <link href="main.css" rel="stylesheet" />
    <script type="text/javascript" src="app.js"></script>
    <script type="text/javascript" src="DemoCtrl.js"></script>


</head>
  <body  ng-controller="DemoCtrl" ng-app="stockApp">
    <header>

    <div class="blog-masthead">
      <div class="container">
        <nav class="blog-nav">
          <h1 class="stockHeader">Stock App</h1>
          <a class="blog-nav-item pull-right" href="#/">Login</a>
          <a class="blog-nav-item pull-right" href="#/stock">Stock</a>
          <a class="blog-nav-item active pull-right" href="#/addTools">Add Tools</a>
          </nav>
      </div>
    </div>
    </header>
    <div ng-view></div>
  </body>
</html>

app.js

var sampleApp = angular.module('stockApp', ['ngRoute']);
sampleApp.config(['$routeProvider',
  function($routeProvider) {
    $routeProvider.
      when('/', {
        templateUrl: 'login.html',
        controller: 'DemoCtrl'
      }).
      when('/stock', {
        templateUrl: 'stockStatus.html',
        controller: 'DemoCtrl'
      }).
      when('/addTools', {
        templateUrl: 'addTools.html',
        controller: 'DemoCtrl'
      }).
      otherwise({
        redirectTo: '/'
      });
  }]);

ДемоCtrl.js

var app = angular.module('stockApp', ['ngTable']).
controller('DemoCtrl', function($scope) {
$scope.stock="In Stock!"
})

кроме них есть 3 частичных.


person naah    schedule 09.04.2015    source источник
comment
частичные находятся в той же папке, что и другие файлы   -  person naah    schedule 09.04.2015


Ответы (2)


Посмотрите на этот форк вашего исходного плункера, в котором сегменты кода ниже были обновлены: http://plnkr.co/edit/91XYMEC85Shgu6kQSrty?p=preview

// DemoCtrl.js
var app = angular.module('controllers', []).
            controller('DemoCtrl', function($scope) {
               $scope.stock="In Stock!"
            })

// app.js
var sampleApp = angular.module('stockApp', ['ngRoute', 'controllers']);

Во-первых, ваш код контроллера повторно инициализировал модуль stockApp, передавая зависимости. Если вам нужны отдельные зависимости для ваших контроллеров, создайте их как отдельный модуль и сделайте ваше приложение зависимым от этого модуля.

Во-вторых, я обновил версии angular и angular JS. Конфликтующие версии могут вызвать проблемы в соответствии с этим предыдущим ответом: Не удалось создать экземпляр модуля [ $injector:unpr] Неизвестный провайдер: $routeProvider.

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular-route.js"></script>
person Travis    schedule 09.04.2015
comment
при запуске того же кода в eclipse он не работает. выдает ошибку: Uncaught Error: [$injector:modulerr] errors.angularjs.org/1.3.14/$injector/…oogleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.3.14%2Fangular.min.js%3A17%3A1) любые предложения, где это может пойти не так . - person naah; 10.04.2015
comment
Я не уверен; если он работает так, как вы ожидаете в опубликованном мной плункере, но имеет проблему при запуске в вашем локальном проекте, я предполагаю, что код был применен неправильно. Убедились ли вы, что заменили ссылки на угловые скрипты, а не просто добавили их, и поместили ли вы два блока кода в соответствующие файлы? Изменяли ли вы что-либо, например, имя модуля контроллера, или вносили какие-либо другие изменения, которые могли быть опечатаны/неверны? - person Travis; 10.04.2015

Еще одна вещь, которую нужно проверить... убедитесь, что вы загружаете файлы angular js (контроллеры, сервисы, фабрики и т. д.) в правильном порядке. Например, если контроллер использует службу, эта служба должна быть загружена в DOM перед контроллером.

Кроме того, убедитесь, что ни одна из ваших служб или фабрик не выполняет повторную инициализацию приложения. Ваш код НЕ должен выглядеть так:

angular.module('app', [])
    .service('TrxnService', function () {
         //code here
     })

Но вместо этого это должно выглядеть так (без скобок)...

 angular.module('app')
     .service('TrxnService', function () {
          //code here
      })

ПРИМЕЧАНИЕ ДЛЯ НОВИЧКОВ: замените «приложение» на то, что вы назвали своим приложением в объявлении модуля верхнего уровня.

person sewershingle    schedule 01.11.2015