我的mat-table工作正常,但是按照官方api文档添加mat-sort时,它在ngAfterViewInit失败,并显示以下消息
无法在ViewFeedbackComponent.ngAfterViewInit上设置未定义的属性“ sort”
关于此问题已经有一个SO帖子(请参阅以下链接)Mat-table Sorting Demo不起作用,但是我仍然无法使它起作用。
有人发现问题了吗?官方示例使用组件本身中定义的“静态” MatTableDataSource,但是我从后端进行查询。
任何帮助是极大的赞赏!
MatSortModule已导入到app.module.ts中,mat-sort-header指令已应用于列,并且ngAfterViewInit已与官方示例中的完全相同...
import { Component, OnInit, ViewEncapsulation, ViewChild, AfterViewInit} from '@angular/core';
import { Feedback} from '../../../../../models/feedback';
import { FeedbackService} from '../../services/feedback.service';
import { MatTableDataSource, MatSort} from '@angular/material';
@Component({
selector: 'app-view-feedback',
templateUrl: './view-feedback.component.html',
styleUrls: ['./view-feedback.component.css'],
encapsulation: ViewEncapsulation.Emulated
})
export class ViewFeedbackComponent implements OnInit, AfterViewInit {
feedbacks: Feedback[] = [];
showSpinner: boolean = true;
displayedColumns: String[] = [
'id',
'user',
'timestamp',
'stars'
];
dataSource: MatTableDataSource < Feedback > ;
@ViewChild(MatSort) sort: MatSort; …Run Code Online (Sandbox Code Playgroud)我正在将一个非常简单的mongo数据库(夫妇100个条目)迁移到Azure Cosmos DB。我的应用程序基于node-js,所以我使用猫鼬作为映射器。在非常简单之前,先定义架构,查询集合并完成。
现在,当在cosmos db中设置集合时,有人问我分区键和分片键的问题。我可以忽略的第一个,但最后一个是必需的。快速阅读有关该主题的内容并了解它是一种分区(再次,我不需要也不想),我只是选择_id作为分片键。
当然有些东西行不通。
虽然查找查询工作正常。更新或插入记录失败,以下是错误:
MongoError:命令中的查询必须针对单个分片键
Cosmos db(使用mongo API)被广告宣传为我的替代产品。显然不是这种情况,因为我从来不需要担心mongo中的这类事情,尤其是对于这么小的app / db。
因此,我可以以某种方式禁用分片吗?另外,我如何定义分片键,而不用担心它呢?
干杯
我在验证 v2 终结点颁发的 Azure idtoken 的令牌签名时遇到问题。
我已阅读文档(https://learn.microsoft.com/en-us/azure/active-directory/develop/v1-id-and-access-tokens#validating-tokens),还有一些示例代码,但这指的是 TS/JS 以外的语言。
目前我的代码是
import {
decode,
verify
} from 'jsonwebtoken';
const token = 'myRand0mIdtoken...meh';
const key = 'key from -->'; // https://login.microsoftonline.com/common/discovery/v2.0/keys
console.log(
decode(token), //works fine!
verify(token, key) //JsonWebTokenError: invalid algorithm
);Run Code Online (Sandbox Code Playgroud)
我该怎么办呢?解码有效,但验证无效。
站点https://login.microsoftonline.com/common/discovery/v2.0/keys指向包含“keys”数组的 JSON 文档。这包含多个关键对象。其中,我使用了“kid”值与 idToken 标头中的“kid”值匹配的元素。
该元素中有两个字段:x5t 和 x5c,它们看起来像公钥。我两种都尝试过,但没有运气。
亲切的问候
vs 代码据说支持用户定义的片段中的变电站,即转换。但它只适用于(内置)变量而不是占位符。
请参阅以下代码段:
"substitution test" : {
"prefix" : "abc",
"body": [
"${TM_FILENAME}",
"${TM_FILENAME/^([^.]+)\\..+$/$1/}",
"${TM_FILENAME/^([^.]+)\\..+$/${1:/capitalize}/}",
"${TM_FILENAME/^([^.]+)\\..+$/${1:/upcase}/}",
"${2:showMeInAllCapsWhenReferenced}",
"${2/upcase}"
]
}
Run Code Online (Sandbox Code Playgroud)
第 1-4 行的输出符合预期:
users.actions.ts
users
Users
USERS
Run Code Online (Sandbox Code Playgroud)
在第 5 行有一个占位符,我在第 6 行再次引用它。我希望它显示两次,一次是在我输入时显示,一次是全部大写。所以例如:
fooFoo
FOOFOO
Run Code Online (Sandbox Code Playgroud)
但实际输出是
showMeInAllCapsWhenReferenced
${2/upcase}
Run Code Online (Sandbox Code Playgroud)
是否可以替换/转换引用的占位符(如我输入的那样)?
我正在尝试搭建现有 Oracle 数据库中一个特定表的数据库上下文。
dotnet ef dbcontext scaffold 'data source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=some.remote.hostname)(PORT=1337))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=SVC_NAME)));user id=USER;password=PASS' Oracle.EntityFrameworkCore --table TABLE_NAME --schema SCHEMA_NAME --use-database-names -f
CLI 然后打印
Build started...
Build succeeded.
接下来是大量以下类型的警告消息。该警告中提到的所有表格都与我想要搭建的表格无关。
无法识别表“SCHEMA_NAME.SOME_OTHER_TABLE_NAME”的主键。
无法为表“SCHEMA_NAME.SOME_OTHER_TABLE_NAME”生成实体类型。
一段时间后抛出异常
System.InvalidOperationException: The types of the properties specified for the foreign key {'SOME_COLUMN'} on entity type 'SOME_TABLE' do not match the types of the properties in the principal key {'SOME_OTHER_COLUMN'} on entity type 'SOME_TABLE'.
at Microsoft.EntityFrameworkCore.Metadata.Internal.ForeignKey.AreCompatible(IReadOnlyList`1 principalProperties, IReadOnlyList`1 dependentProperties, EntityType principalEntityType, EntityType dependentEntityType, Boolean shouldThrow)
at Microsoft.EntityFrameworkCore.Metadata.Internal.ForeignKey.AreCompatible(EntityType principalEntityType, EntityType dependentEntityType, MemberInfo navigationToPrincipal, MemberInfo navigationToDependent, …Run Code Online (Sandbox Code Playgroud)我确实意识到,当在.then()处理程序中返回非承诺时,它会立即传递到下一个处理程序,如果返回了一个promise,则在执行promise传递给它之前,将暂停执行该promise以进行解决。下一个处理程序。
我也知道,一个承诺只能返回一个值。
那只蜜蜂说,我将如何从一个.then()处理函数返回多个参数到下一个?Esepcailly,如果它是承诺和非承诺的混合。目前,我将所有内容放入自定义对象中,将其返回,并在随后的then()处理函数中使用async await来解决承诺。
然后是使用已解决的承诺值和非承诺值一起进行一些工作。
这很好用,但是我的直觉说这不是应该的方式……也许?
例:
const current = 'blah';
const previous = 'blubb';
this.doSomeAsyncWork()
.then(
result => {
const nonPromiseValue = new domSomethingSynchronous(current, previous);
// "custom object, mix of promises and non-promises"
return {
nonPromise: nonPromise,
promiseA: ControllerA.asyncOperationA(current, nonPromiseValue.someProperty),
promiseB: ControllerB.asyncOperationB(nonPromiseValue.someOtherProperty),
}
}
)
.then(
async x => {
const nonPromiseValue = x.nonPromiseValue;
const valueA = await x.promiseA;
const valueB = await x.promiseB;
// do something with the results of those three variables
}
)
.catch(
// …Run Code Online (Sandbox Code Playgroud)使用公共 NUGET.ORG 包以及我的组织自己的 nuget Github Packages 注册表中的包的项目可以在本地正常恢复,但无法在 Github Action 中执行此操作。以下是操作 yml 的摘录:
name: workflow1
on:
push:
branches: [ main ]
jobs:
build:
runs-on: ubuntu-latest
permissions:
id-token: write
contents: write
packages: write
issues: write
steps:
- name: Check that shit out
uses: actions/checkout@v3
- name: Set that shit up
uses: actions/setup-dotnet@v2
with:
dotnet-version: '6.x.x'
- name: Build that shit
run: |
dotnet nuget add source https://nuget.pkg.github.com/myorg/index.json -n github -u ${{ github.actor }} -p ${{ secrets.GITHUB_TOKEN }} --store-password-in-clear-text
dotnet restore ./project.sln
dotnet …Run Code Online (Sandbox Code Playgroud) 我将 EF Core 与我的一个应用程序一起使用来查询 Azure Sql 数据库。它是无服务器 SKU,在 1 小时不活动后缩减至零(进入睡眠状态)。
现在,在该应用程序中,有预定的功能可以在某些时间点查询数据库。这通常是在数据库休眠的时候。为了弥补这一点,我在 DbContext.cs 中使用以下内容
optionsBuilder.UseSqlServer(connection, opt => opt.EnableRetryOnFailure(
maxRetryCount: 20,
maxRetryDelay: TimeSpan.FromSeconds(30),
errorNumbersToAdd: null
));
Run Code Online (Sandbox Code Playgroud)
如果延迟均匀分布,则平均为 15 秒,重试 20 次 => 5 分钟后超时。
我认为这应该足够了,因为当使用 SSMS 查询睡眠数据库时,通常需要不到 1 分钟才能开始。然而,事实并非如此,函数经常超时并且查询失败。
有没有比增加超时更好的方法来解决这个问题?5分钟真的不够吗?
干杯
.net ×1
angular ×1
angular-cdk ×1
ef-core-2.1 ×1
javascript ×1
jwt ×1
node.js ×1
nuget ×1
oracle ×1
promise ×1
return ×1
sharding ×1