需要理解Angular路由的方法

时间:2016-08-09 06:03:27

标签: javascript html angularjs single-page-application

大家好我是angularJs的新手,我发现很难理解路由概念,我从很多方面了解到,但是特别是when方法还不是很清楚。我理解的是路由帮助我们实现单页面应用程序,这意味着浏览器只加载一个.html文件,然后根据用户的交互删除或添加其他内容,没有其他文件被加载。但是在链接angular routing

的以下定义中

templateUrl:当要显示的HTML复杂且大时,最好将它们分成单独的模板/文件,并将URL作为templateUrl提供给HTML文件。 AngularJS在需要显示特定路径时从服务器加载HTML文件。

它表示angularjs将HTML文件加载为templateUrl。有人可以向我解释一下吗?

3 个答案:

答案 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;。