我有一个这样设置的记录:
let myRecord = Record<String, Set<String>>
如何将元素添加到记录内的集合中?我尝试了以下方法但没有成功:
let key = "key";
let stringToAdd = "stringToAdd";
myRecord[key].add(stringToAdd);
Run Code Online (Sandbox Code Playgroud) 我们在标记中使用“data-test”属性来查询测试中的元素。例如:
<div data-test='myDiv'></div>
Run Code Online (Sandbox Code Playgroud)
我们不希望此属性出现在生产版本中。到目前为止,我找到了一种解决方法来创建一个指令,该指令在运行时删除生产构建的属性。它肯定会花费一些 CPU 并且似乎值得怀疑。寻找一种在构建时删除属性的方法。欢迎任何想法。
我已经四处寻找这个,但似乎没有一个起作用。
我正在研究 Angular,并将我的 scss 变量放在根文件、styles.scss 中:root 伪选择器中。以下在我的组件 scss 中有效;
:root {--color-primary-green:#00e676}
background-color:var(--color-primary-green);
Run Code Online (Sandbox Code Playgroud)
当我尝试使用 rgba 时,颜色消失了,即
background-color: rgba(var(--color-primary-green), 0.5);
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?
在调试期间,我可以远离第一个文件导航.打开解决方案资源管理器树并检查当前打开的文件兄弟姐妹通常很有用.是否有解决方案资源管理器中打开当前文件的快捷方式
我有sql server 2008r2.根据我的互联网研究,它支持.net framework 4.0.我试图用sql clr函数安装我的程序集并收到错误.
程序集"MyAssembly"的CREATE ASSEMBLY失败,因为程序集是为不支持的公共语言运行时版本构建的.
询问
select * from sys.dm_clr_properties
Run Code Online (Sandbox Code Playgroud)
给出结果:
目录C:\ Windows\Microsoft.NET\Framework64\v2.0.50727\
版本v2.0.50727
CLR已初始化
我检查C:\ Windows\Microsoft.NET\Framework64 \以确定并找到v4.0.30319文件夹所在的位置.所以,安装了.net v4.0.
所以,我需要更改用于sql的CLR版本.我试过了
sp_configure 'clr enabled', 0;
GO
RECONFIGURE;
GO
sp_configure 'clr enabled', 1;
GO
RECONFIGURE;
GO
Run Code Online (Sandbox Code Playgroud)
它没有帮助.我尝试添加带有内容的sqlservr.exe.config
<configuration>
<startup>
<requiredRuntime version="v4.0"/>
</startup>
</configuration>
Run Code Online (Sandbox Code Playgroud)
到C:\ Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn文件夹并重新启动sql server.它没有帮助.
我知道创建注册表项HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft.NETFramework\OnlyUseLatestCLR并将其设置为1的选项.它可以打破其他解决方案,所以我很害怕在生产中使用它.
有什么建议如何说服sql server使用clr v4.0?
我试图在启动/初始路线上获取路线参数。但它不起作用。
应用程序组件.ts
import { ActivatedRoute } from '@angular/router';
...
constructor(
private activatedroute: ActivatedRoute
) {}
ngOnInit() {
console.log(this.activatedroute.snapshot.paramMap.get('token'));
this.activatedroute.paramMap.subscribe( paramMap => {
console.log(paramMap.get('token'));
});
}
Run Code Online (Sandbox Code Playgroud)
app.module.ts(不过不仅仅包括这个)
import { Routes, RouterModule } from '@angular/router';
const routes: Routes = [
{ path: ':token', component: HelloComponent },
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
Run Code Online (Sandbox Code Playgroud)
然后我提供我的应用程序并转到:
http://本地主机:4200/123
但我的 app.component.ts 只是 console.log 的null null。为什么这不起作用?我觉得我一切都正确。这是一个可以使用的 Angular Blitz: https: //stackblitz.com/edit/angular-wnrrkd
我创建了一个 Angular 应用程序,它使用延迟加载和标准角度路由设置,当我在本地运行该应用程序时,此设置运行良好。但是,当我尝试从 azure blob 存储提供服务时,我在应用程序中导航时收到 404 错误。
Azure 存储static site已启用,当我导航到根页面时,它会显示。
我需要实施哪些 Azure 配置才能解决此问题?
请注意:为了使这个问题尽可能简洁,我在代码下方添加了我的尝试。另外,我不确定哪些 Azure 配置适合添加,因此我将它们保留在请求之前。
应用程序路由.module.ts
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
const routes: Routes = [
{ path: '', loadChildren: () => import('./feature-modules/home/home.module').then(h => h.HomeModule) },
{ path: 'roadmap', loadChildren: () => import('./feature-modules/roadmap/roadmap.module').then(h => h.RoadmapModule) },
{ path: 'games', loadChildren: () => import('./feature-modules/games/games.module').then(h => h.GamesModule) },
{ path: 'locations', loadChildren: () => import('./feature-modules/locations/locations.module').then(h => h.LocationsModule) },
{ path: …Run Code Online (Sandbox Code Playgroud) 我尝试了解如何测试这个功能。从(err)=>{ line,它显示为一个未覆盖的声明。
服务.ts
Deletevote(inp) {
console.log(inp);
return this.http.post(environment.apiUrl + '/api/reset/abc', inp).pipe(
catchError((err) => {
console.log('error caught in service');
console.error(err);
return throwError(err);
})
);
}
Run Code Online (Sandbox Code Playgroud)
我已经为正流创建了这个测试用例,但错误部分仍然没有被覆盖。请指导我如何创建错误。
服务规范
const Mockcolor = 'green';
const MockGen = 'male';
it('submitnominGreen', () => {
service.Deletevote(DeleteObj).subscribe((posts) =>{
expect(posts).toEqual([Mockcolor,MockGen], 'should check mock data');
});
const req = httpTestCtrl.expectOne(environment.apiUrl + '/api/reset/abc');
expect(req.request.method).toBe('POST');
expect(req.cancelled).toBeFalsy();
req.flush([Mockcolor,MockGen])
});
Run Code Online (Sandbox Code Playgroud) 在 Angular 项目(Angular CLI:9.1.4)中,我有一个具有以下功能的组件:window.location.href = EXTERNAL_URL
a.组件.ts
import { Component, OnInit } from '@angular/core';
import { Service } from 'services/service';
@Component({
selector: 'a',
templateUrl: './a.component.html',
styleUrls: ['./a.component.scss']
})
export class AComponent implements OnInit {
constructor(private service: Service) {}
ngOnInit(): void {}
redirect() {
window.location.href = 'https://sample.com'
}
}
Run Code Online (Sandbox Code Playgroud)
对于单元测试,我有 a.component.spec.ts
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { AComponent } from './A.component';
import { By } from '@angular/platform-browser';
import { DebugElement } from '@angular/core';
import { HttpClientModule …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 Karma/Jasmine 中的 ActivatedRoute 类来测试 Angular 组件,但我遇到了一个无法修复的非常烦人的错误。Error: Can't resolve all parameters for ActivatedRoute: (?, ?, ?, ?, ?, ?, ?, ?)
我已经尝试了在网上找到的所有解决方案,以各种方式模拟激活的路线。但我就是无法让它发挥作用。
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { ActivatedRoute, convertToParamMap } from '@angular/router';
import { RouterTestingModule } from '@angular/router/testing';
import { of } from 'rxjs';
import { SearchbarComponent } from './searchbar.component';
describe('SearchbarComponent', () => {
let component: SearchbarComponent;
let fixture: ComponentFixture<SearchbarComponent>;
beforeEach(async () => {
await TestBed.configureTestingModule({
imports: [ RouterTestingModule ],
declarations: [ SearchbarComponent ],
providers: …Run Code Online (Sandbox Code Playgroud) angular ×6
unit-testing ×2
.net ×1
angular-cli ×1
html ×1
jasmine ×1
jestjs ×1
karma-runner ×1
record ×1
sass ×1
set ×1
sql-server ×1
sqlclr ×1
testing ×1
typescript ×1
webpack ×1