ng view не работает, но ng включает работу в angularjs

Может кто-нибудь, пожалуйста, помогите мне, я не знаю, что я делаю неправильно. Я следую среднему учебнику по веб-разработке. Ng-include нормально работает с шаблонами, а ng-view — нет. У меня есть 5 файлов. Во-первых, это Users.client.module.js:

angular.module('users', []);

Во-вторых, это users.client.controller.js.

    angular.module('users',['ngRoute']).controller('UsersController', ['$scope', 
function ($scope){
    $scope.name = 'UsersCont';
    console.log("from UsersCont");
}]);

В-третьих, это users.client.routes.js.

angular.module('users').config(['$routeProvider', function ($routeProvider) {
    $routeProvider
    .when('/', {
        templateUrl: 'users/views/register-user.client.view.html'

    })
    .otherwise({
        templateUrl: '/somewhere else'
    });
}]);

Четвертый — register-client-view.html.

<section ng-controller="UsersController">
    <h1>{{ name }}</h1>
</section>

и последний - index.html

<section ng-include=" 'users/views/register-user.client.view.html' "></section>

<section ng-view> </section>

<script type="text/javascript" src="/users/users.client.module.js"></script>
    <script type="text/javascript" src="/users/controllers/users.client.controller.js"></script>

Пожалуйста помоги


person userDC    schedule 10.07.2015    source источник
comment
Я не вижу ng-app нигде в вашем index.html. Это необходимо для начальной загрузки приложения ng. Также это кажется странным ng-include=" 'users/views/register-user.client.view.html' " - почему у вас внутри дополнительные кавычки?   -  person David Votrubec    schedule 10.07.2015
comment
у меня есть файл для ручной загрузки application.js var mainApplicationModuleName = 'myApp'; var mainApplicationModule = angular.module(mainApplicationModuleName, ['ngResource','ngRoute', 'пользователи', 'статьи']); mainApplicationModule.config(['$locationProvider', function ($locationProvider){ $locationProvider.hashPrefix('!'); }]); angular.element(document).ready(function(){ angular.bootstrap(document, [mainApplicationModuleName]); }); ng-include работает нормально, я пробовал без одинарных кавычек, но не работает. я думаю, что проблема где-то с маршрутами, но я не могу ее найти. также пробовал с ng-app   -  person userDC    schedule 10.07.2015
comment
Я не вижу, чтобы вы загружали users.client.routes.js в свой индекс. У тебя это есть?   -  person Devin H.    schedule 10.07.2015
comment
omg..спасибо 1000 раз Девин Х. я не включил users.client.rotues.js...   -  person userDC    schedule 10.07.2015


Ответы (2)


Вы должны использовать ngRoute в качестве зависимости для этого

Попробуйте следующий код

var app = angular.module('users', ['ngRoute']);

А также не забудьте включить js-файл углового маршрута сразу после основного js-файла angular.

<script src="Scripts/Vendors/angular-route.min.js"></script>
person Hasib Hasan Arnab    schedule 10.07.2015
comment
спасибо за быстрый ответ Хасиб Хасан Арнаб, я пробовал, прежде чем задавать вопрос с ['ngRoute'] в моем файле module.js, но тоже не сработало. я уже включил angular-route.js после angular.js, теперь я попробовал уменьшенную версию и все равно не будет работать... действительно не знаю, что делать... еще раз спасибо за помощь - person userDC; 10.07.2015

Похоже, проблема вызвана дефисом в названии шаблона. См. этот ответ Шаблоны AngularJS не могут использовать JSON, содержащий дефис

Попробуйте либо переименовать имя шаблона (замените дефис на подчеркивание), либо используйте обратную косую черту.

Я предполагаю, что дефис считается знаком минус, а угловой (или javascript) затем путается с ним. Это также причина, почему это работает ng-include=" 'users/views/register-user.client.view.html' ", а это не работает ng-include="users/views/register-user.client.view.html"

person David Votrubec    schedule 10.07.2015
comment
спасибо за помощь, поэтому одинарные кавычки. но думаю проблема не в этом. у меня также есть маршруты в статьях article/views/list-articles.client.view.html, и он отлично работает, когда маршрут '/articles'... я думаю, что проблема связана с маршрутизацией любого шаблона, который я помещаю, ng-view не показывает. я начну сначала и попытаюсь найти ошибку... сейчас я понятия не имею... - person userDC; 10.07.2015