大家好我是angularJs的新手,我发现很难理解路由概念,我从很多方面了解到,但是特别是when方法还不是很清楚。我理解的是路由帮助我们实现单页面应用程序,这意味着浏览器只加载一个.html文件,然后根据用户的交互删除或添加其他内容,没有其他文件被加载。但是在链接angular routing
的以下定义中templateUrl:当要显示的HTML复杂且大时,最好将它们分成单独的模板/文件,并将URL作为templateUrl提供给HTML文件。 AngularJS在需要显示特定路径时从服务器加载HTML文件。
它表示angularjs将HTML文件加载为templateUrl。有人可以向我解释一下吗?
答案 0 :(得分:0)
1. templateUrl 属性告诉AngularJS应该使用ReadOnly
指令在div
内加载和显示哪个HTML模板。
2.它可以是路径(或)函数,而.when()方法将路径和路径作为参数。
3.它可以用作返回生成的URL的函数。我们可以通过传递参数来操纵url。
ngView
所以,它不像重新加载整个html页面。只有html内容加载到.when('/:screenName/getAll',{
templateUrl: function(route){
return route.screenName +'/getAllList'
}
})
内..希望这有帮助。!!!
答案 1 :(得分:-1)
例如:
//main.js
$routeProvider.when('/computers', {
templateUrl: 'views/computers.html',
});
//./views/computers.html
<ul>
<li>Computer 1</li>
<li>Computer 2</li>
</ul>
当路由为http://example.com/#/computers
时,AngularJs将通过ajax加载./views/computers.html
文件,并将其缓存以用于其他请求。因此,它不仅会在您的SPA中加载一个(主要的)html文件。
答案 2 :(得分:-2)
Angular加载html文件,因为模板url意味着它使用你提供的路径来加载html。与在角度组件中编写html相比,这将更有条理。
单页应用程序并不意味着只加载一个文件的角度加载。当用户进行交互时,可以执行路由,加载更多数据,并且将加载更多html或html的某些部分以及数据以呈现给用户。
&#34;当&#34; method表示当用户访问已定义的路径时,将继续执行以下操作,包括&#34; templateUrl&#34;。