2015-10-20 70 views
0

我试图用“ng-view”加载一些带有角度的HTML内容。我所拥有的一切设置,模块,控制器和我的路线,看起来像这样:Angular ng-view - 加载失败

myApp.config(function ($routeProvider) { 
$routeProvider 

// route for the home page 
    .when('/', { 
    templateUrl: 'components/home/home.html', 
    controller: 'mainController' 
}) 

// route for the about page 
.when('/about', { 
    templateUrl: 'components/about/about.html', 
    controller: 'aboutController' 
}); 
}); 

这是NG观看部分看起来像在我的index.html:

  <nav> 
      <ul> 
       <li><a href="#/">HOME</a></li> 
       <li><a href="#about">ABOUT</a></li> 
       <li><a href="#contact">CONTACT</a></li> 
      </ul> 
     </nav> 

     <div class="main"> 
      <div ng-view></div> 
     </div> 

我的HTML文件位于文件夹“组件”内的独立文件夹中,所以路径应该是正确的。我也在服务器上测试这个。但所有我最终都是一个错误。

这是Chrome的控制台上显示的内容:

GET http://127.0.0.1:53283/components/about/about.html 404(未找到) 错误:[$编译:tpload]无法加载模板:components/about/about.html(HTTP状态:404未找到)

任何人都知道这里有什么问题吗?

+0

你有没有证实该文件已经存在于'/组件/约/ about.html'? –

回答

0

尝试使用componentLoaderProvider和配置您的应用程序如下:

.config (['$componentLoaderProvider', function ($componentLoaderProvider) { 
    $componentLoaderProvider.setTemplateMapping(function (name) { 
     return 'components/' + name + '/' + name + '.html'; 
    }); 
}]) 
+0

是不是可以用ng-view来做? – qua1ity

+0

'ng-view'被改为'ng-viewport' – Griffith

+0

@Griffith我认为你正在使用有关Angular的新路由器?他正在使用'ngRoute',这永远不会帮助他的问题 –