[英]Angular 1.5, ui-router + resource + components, stateProvider can't find component
[英]angular ui-router can't find script template in head
我正在嘗試將內聯模板注入我的體內,但是我得到了
控制台中的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轉換是否有問題?
問題在於您的ng-app
位於body
因此head中的script標簽不在您的主要angular模塊的范圍內。
如果templateUrl在$ templateCache或腳本標記中不存在(也以$ templateCache結尾),則會向服務器發出請求以檢索它。
由於您的標簽不在應用程序的范圍內,因此找不到該標簽,因此會生成服務器請求。
可能的解決方案:
將腳本標簽移到正文中或將ng-app
屬性移至<html>
標簽
經過非常仔細的閱讀,我發現我需要將腳本放入體內,而不是放在頭部。 將其放在頁腳中之后,其余的腳本都可以使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.