【发布时间】:2020-05-16 17:37:03
【问题描述】:
我想找到答案:在 Angular 路由中,当单击链接并生成路由 url 时,是重新加载整个 html 页面,还是仅重新加载页面的一部分?
使用 Angular 基础教程“Tour of Heroes”,我在每个组件的 html 模板中添加了一条语句,以不同颜色绘制一个框(代码来自here 和此处)。比如……
<h1>{{title}}</h1>
<nav>
<a routerLink="/dashboard">Dashboard</a>
<a routerLink="/heroes">Heroes</a>
</nav>
<div style="width:100px;height:100px;border:1px solid rgb(255, 255, 0);">This is app component!</div>
<router-outlet></router-outlet>
<app-messages></app-messages>
但我无法判断是否只重绘了面板而不是整个页面。
为了测试这一点,我想每次都用随机颜色绘制矩形。 创建随机颜色形状的目的是区分矩形是改变颜色(整个页面被重新加载)还是组件中只有矩形的颜色改变(然后只有组件被重新加载)。
我创建了一个 src/custom.js 文件并将其放入
(function random_rgba() {
var o = Math.round, r = Math.random, s = 255;
// return 'rgba(' + o(r()*s) + ',' + o(r()*s) + ',' + o(r()*s) + ',' + r().toFixed(1) + ')';
document.write("<div style=\"width:100px;height:100px;border:1px solid " + " rgb(0, 255, 0);" + ">This is a hero detail component!</div>");
})()
在 angular.json 中,
"scripts": [
"src/custom.js"
]
但是在 hero-detail.component.html 中
<div><script>random_rgba();</script></div>
重新加载页面时没有绘制彩色矩形。 :(
【问题讨论】:
-
你查看浏览器开发者工具的网络标签了吗?
-
@DiogoSantana 感谢您的提示。我刚才看了。没有活动,但那是因为本教程没有进行任何网络调用。