我正在尝试向我的身体注入一个内联模板,但我得到了一个
控制台中出现 GET http://localhost:3000/home.html 404 (Not Found)
错误。
我已将剧本包含在脑中。
!!!
%html
%head
%title Movieseat
%script{:id => "/home.html", :type => "text/ng-template"}
.page-header
%h1 Flapper News
%body{"ng-app" => "movieseat"}
%div{"ui-view" => ""}
%a{"ui-sref" => "state1"} State 1
%a{"ui-sref" => "state2"} State 2
%a{"ui-sref" => "home"} home
这是路线模块,
angular.module('movieseat').config([
'$urlRouterProvider', '$stateProvider', function($urlRouterProvider, $stateProvider) {
$urlRouterProvider.otherwise('/home');
$stateProvider
.state('home', {
url: '/home',
templateUrl: '/home.html',
controller: 'searchCtrl'
})
.state('state1', {
url: '/state1',
templateUrl: 'assets/angular-app/templates/state1.html'
})
.state('state2', {
url: "/state2",
templateUrl: "assets/angular-app/templates/state2.html"
})
}
]);
html>是否有问题?脚本标签上的erb转换?
答案 0 :(得分:2)
问题是您的ng-app
位于body
,因此head中的脚本标记超出了主角度模块的范围。
如果templateUrl不存在于$ templateCache或script标签中(也最终在$ templateCache中),则会向服务器发出请求以检索它。
由于您的代码不在应用范围内,因此无法找到,因此会生成服务器请求。
可能的解决方案:
在正文中移动脚本标记或将ng-app
属性移至<html>
标记
答案 1 :(得分:0)
经过仔细阅读后,我发现我需要将脚本放在身体内,而不是放在头部。将它放入页脚后,其余的脚本就可以了。