Next13 已推出,他们建议使用新app目录,其中每个组件默认都是“服务器组件”
在“服务器组件”内,您可以使用:
async/await获取数据。cookies()检索 cookieheaders()检索请求标头。但我找不到如何检索查询参数。
在 Next 13 之前getServerSideProps,您可以使用context.query来访问查询参数。
您知道如何使用 Next 13 中的“服务器组件”检索查询参数吗?
在角度1.*中,我使用ui-router并且能够将NON URL参数从一个状态传递到另一个状态.通过NON URL参数,我的意思是传递一些不出现在URL上的参数(这对用户来说是完全透明的).
在Angular 1.*中执行此操作的方法是通过定义这样的状态(stateToRedirect是非url参数)
$stateProvider
.state('LOGIN_STATE', {
url: `login`,
component: 'login',
params: {
stateToRedirect: 'home'
}
});
Run Code Online (Sandbox Code Playgroud)
并改变这样的状态:
$state.go('LOGIN_STATE', {
stateToRedirect: 'OTHER_STATE',
});
Run Code Online (Sandbox Code Playgroud)
在LOGIN_STATE中,我能够访问此参数:
$stateParams.stateToRedirect;
Run Code Online (Sandbox Code Playgroud)
我正在尝试为Angular 2路由器找到相同的行为,我的理解是Angular 2路由器已经改进了很多,我们可能不需要使用ui-router-ng2.
所以我的问题是:你如何在Angular 2路由器中重现上述行为?
这个问题似乎是我想要的,但我不想在URL中使用参数,并且路径上的'data'属性看起来不错,但我找不到关于如何动态设置它的文档.
我有一个使用 Angular CLI 创建的 Angular 项目,所以我有 angular.json 文件用于配置构建。
我想集成 PurgeCSS,因为它似乎是减少 CSS 包大小的好工具。
在PurgeCSS 网站上,他们解释了如何与 Webpack 集成。我找到了一个教程,解释了如何添加自定义 webpack 与 Angular CLI 的集成。
有没有人有 PurgeCSS 与 Angular CLI 项目集成的成功例子?
我使用 Sentry(类似于 Bugsnag)来监视站点上的前端错误。
在 Sentry 上我有很多这样的错误:
Error: Loading chunk 77 failed.
(timeout: https://www.exemple.com/77.6a28baf2f4e4ff5f87a6.js)
Run Code Online (Sandbox Code Playgroud)
我执行延迟加载,但旧文件在部署期间保留,因此问题与部署的网站的新版本无关。
就像错误所说的那样,这似乎是超时,因此可能是用户连接稍微下降了。
但我不明白的是:
我可以在 Sentry 上看到这些错误:如果用户在加载网站时连接断开,他如何向 Sentry 发送报告错误的内容
在 Sentry 上,我看到的错误来自使用 Windows 的用户,因此这意味着他们在桌面上 => 在桌面上时连接断开的概率很低。
我在网上搜索了我发现的所有内容的解释:
部署和延迟加载(我保留旧文件,所以这不是问题)
连接问题(为什么我会看到报告这些错误)
任何人都想探索一些东西来尝试找出这些错误发生的原因。
我使用AWS并启用了自动备份.
对于我们的客户之一,我们需要确切知道备份数据的存储位置.
在AWS FAQ网站上,我可以看到:
问:我的自动备份和数据库快照存储在哪里?如何管理其保留?
Amazon RDS数据库快照和自动备份存储在S3中.
我的理解是你可以在任何你想要的地方放置一个S3实例,所以我不清楚这个数据在哪里.
为了清楚起见,我对物理位置感兴趣(是欧洲,美国......)
我正在尝试在我的Angular Application中使用service-worker。它是使用webpack构建的。
我使用workbox-webpack-plugin。我想为我的GET API调用提供表单缓存,并在后台更新数据。
为此,我将选项runtimeCaching与处理程序一起使用staleWhileRevalidate(有关GenerateSW插件的更多详细信息,请参见此处)
这是我在webpack.config.js中的配置:
new GenerateSW({
// importWorkboxFrom: 'local',
clientsClaim: true,
skipWaiting: true,
navigateFallback: '/index.html',
runtimeCaching: [
{
// Match any same-origin request that contains 'api'.
urlPattern: /https:\/\/api.*/,
handler: 'staleWhileRevalidate',
options: {
cacheName: 'api',
broadcastUpdate: {
channelName: 'api-updates',
},
// Add in any additional plugin logic you need.
plugins: [],
},
}
]
}),
Run Code Online (Sandbox Code Playgroud)
根据本文档,当缓存更新时,我应该能够收到一个事件(我想向用户显示某些内容,以便他可以刷新数据)。
接收数据的代码如下所示:
export class AppComponent implements OnInit {
public ngOnInit() {
console.log( 'AppComponent - ngOnInit' ); …Run Code Online (Sandbox Code Playgroud) 确保我的 Angular HTTP 请求仅返回最新响应数据的“最佳”(常见)方法是什么。(我正在使用 Angulars HttpClient)
假设用户在返回上一个请求的响应之前提交了一个新请求。我的后端需要更多时间来处理第一个请求,因此第二个请求在第一个请求之前返回 -> 视图更新,稍后第一个请求返回。现在视图已使用旧数据更新。那显然不是我想要的。
我找到了取消请求的解决方案,但这真的是唯一的方法吗?是否有任何内置功能可以实现这一目标?
if ( this.subscription ) {
this.subscription.unsubscribe();
}
this.subscription = this.http.get( 'myAPI' )
.subscribe(resp => {
// handle result ...
});
Run Code Online (Sandbox Code Playgroud)
我知道有switchMap()操作符,它只返回最新的数据,但据我所知,你只能在 observable 中使用它。就我而言,我没有观察到任何输入变化。我只是通过 HTML 模板中的 (ngSubmit)="doRequest()" 指令在表单提交上调用一个函数。
// get called on submit form
doRequest() {
this.http.get('myAPI')
.subscribe(resp => {
// handle result ...
});
}
Run Code Online (Sandbox Code Playgroud)
有没有办法使用 switchMap 运算符,或者您有其他解决方案吗?感谢您抽出宝贵时间:)
PS:当然,在我的真实项目中,我有一个 api 服务类,它具有不同的功能来处理请求,并且只返回 http 响应可观察值。所以我在 doRequest() 函数中订阅了这样一个 observable。
我正在使用ionic 4.7.0.
我报告的问题发生在 Chrome 和 Firefox 上。
实际行为:
使用ion-select带有选项的大名单,当您打开警报,ion-select不会自动滚动到选定的值。用户看到选项列表中的第一个值,他可能认为没有选择任何内容
预期行为:
当警报打开时,视图会自动以所选值为中心
我创建了这个stackblitz来突出显示行为,我们可以在 stackblitz 上看到在加载视图时,选定的值是11:00但是当您打开警报(通过单击 ion-select)时,我希望视图会自动滚动选定的值。
这是离子选择的预期行为吗?
我发现了一些关于同一主题的问题,但没有什么能真正回答这个问题:
Ion-select 在 Ionic 3 中不滚动:这个给出了一个 CSS 的解决方案,它不能与 ionic 4 一起使用,因为 ionic 4 使用了不可修改的 web 组件
https://github.com/ionic-team/ionic-v3/issues/1005:一些带有 ion-select 的滚动错误,应该用 ionic 3.9.5 修复,所以我想这不是同一个问题
angular ×6
webpack ×3
amazon-rds ×1
amazon-s3 ×1
angular-cli ×1
backup ×1
broadcast ×1
css-purge ×1
httpclient ×1
ion-select ×1
ionic4 ×1
javascript ×1
next.js ×1
reactjs ×1
rxjs ×1
scroll ×1
typescript ×1
webpack-2 ×1
workbox ×1