ng视图不起作用,但ng包括angularjs中的工作

时间:2015-07-10 10:38:31

标签: angularjs routes mean-stack

有人可以帮助我,我不知道我做错了什么。我正在遵循卑鄙的Web开发教程。 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>

请帮忙

2 个答案:

答案 0 :(得分:1)

您必须使用ngRoute作为

的依赖项

尝试以下代码

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

并且也不要忘记在angular main js文件之后包含角度路径js文件。

<script src="Scripts/Vendors/angular-route.min.js"></script>

答案 1 :(得分:1)

似乎问题是由模板名称中的连字符引起的。 请参阅此回答AngularJS templates can't use JSON that contains hyphen

尝试重命名模板名称(用下划线替换连字符)或使用反斜杠转义它。

我猜这个连字符被认为是减号和角度(或javascript)然后被它搞糊涂了。这也是为什么这有效ng-include=" 'users/views/register-user.client.view.html' "并且这不起作用ng-include="users/views/register-user.client.view.html"

的原因