我想创建单独的模板文件,以保持HTML清洁和模块化。 Angular无法提取本地文件以用作模板。
例如,我在src/views/test.html
有一个文件,我的src/js/main.js
看起来像:
var app = angular.module('test', [
'ngRoute',
'ngTouch'
]);
app.config(['$routeProvider', function($routeProvider) {
$routeProvider.when('/', {
controller: 'TestController',
templateURL: 'views/test.html'
$routeProvider.otherwise({
redirectTo: '/'
});
}]);
app.controller('TestController', function($scope, $routeParams) {});
但该应用不起作用且模板HTML未被拉入。
我尝试使用forge.file.getLocal
和forge.file.string
,但似乎与template
的{{1}}选项不兼容,因为它们是异步的。
答案 0 :(得分:0)
尝试将../views/test.html
代替views/test.html
作为模板网址。
原因可能是您的目录结构。您的目录结构看起来像这样:
src/
js/
main.js
views/
test.html
我认为因为main.js
和test.html
位于同一目录级别,但在不同的文件夹中,main.js
不知道views
文件夹。
此外,如果您将主角度应用程序放在其他角度js代码“上方”的目录中,它可能会让您的生活更轻松:
src/
main.js
js/
controllers.js
services.js
.
.
.
views/
test.html
当你更熟悉angular时,你应该在Github上查看ng-boilerplate。这是一个回购/项目,向您展示如何以非常干净和有效的方式设置和构建Angular代码。
答案 1 :(得分:0)
事实证明问题是我是一个大写问题。 您必须使用templateUrl
,而不是templateURL
才能使Angular JS路由器正常工作。