有人可以帮助我,我不知道我做错了什么。我正在遵循卑鄙的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>
请帮忙
答案 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"