我已经向 npm 发布了一个 Angular 10 库,它在启用了 Ivy 的本地 Angular 10 项目中运行良好,但是如果我尝试在 StackBlitz 上使用它,我必须禁用 Ivy。
https://stackblitz.com/edit/angular-ivy-tapxx5?file=tsconfig.json
但与常春藤残疾人一起工作
https://stackblitz.com/edit/angular-ivy-vbpzem?file=tsconfig.json
不知道为什么我必须为 StackBlitz 关闭 Ivy,但我可以在本地 CLI Ivy 项目中很好地使用它。
我用Angular CLI创建了一个项目,我想在构建中添加更少的文件.我想要一个主要的少用于共享和全局样式,少一个文件用于本地样式的组件.如何在构建过程中添加无编译文件步骤?
我知道更改查询的形状会导致实体框架忽略包含调用,但是当我执行select many和group by时,有一种方法可以让它加载子属性.在以下示例中,我想通知在特定时间段内预订了工作的所有员工.在只触及数据库一次的地方之后调用.ToArray(),但我在内存中执行SelectMany和GroupBy.有没有办法让SelectMany和GroupBy在SQL服务器上发生,并且仍然包含ServiceType和Ship以及Employee详细信息?
我正在寻找一种方法来对数据库进行一次SQL调用,最后得到一个员工列表,这些员工在这段时间内有一份工作,并且他们被分配到这些工作岗位.
var employeeJobs = DataContext.Jobs.
Include("ServiceType").
Include("Ship").
Include("JobEmployees.Employee").
Where(j => j.Start >= now && j.Start <= finish).
OrderBy(j => j.Start).
ToArray().
SelectMany(j => j.JobEmployees, (j, je) => new {
Job = j,
Employee = je.Employee
}).GroupBy(j => j.Employee);
Run Code Online (Sandbox Code Playgroud) 我已经使用Angular Service worker构建了一个应用程序,除了路由之外,它都能正常工作.如果我转到基本网址,应用程序加载正常,但如果我在离线时转到任何其他路由我得到一个离线错误.
我的ngsw-manifest.json看起来像
{
"routing": {
"index": "/index.html",
"routes": {
"/": {
"match": "exact"
},
"/home": {
"match": "exact"
},
"/paramaterlessroutes": {
"match": "exact"
},
"/routeswithparamaters": {
"match": "prefix"
}
}
}
}
Run Code Online (Sandbox Code Playgroud) service-worker progressive-web-apps angular angular-service-worker
在Angular 2和.NET Web API之间使用用户名和密码验证系统的最佳方法是什么?
当通过 formReset 方法重置表单时,有没有办法收到通知?
我有一个注入表单的指令,当提交表单或通过重置按钮重置表单时,我可以收到通知,但我无法找到在 ngForm 上调用 formRest 时收到通知的方法。
@Directive({
selector: '[appForm]'
})
export class FormDirective implements OnDestroy {
private subscription: Subscription;
constructor(form: NgForm) {
this.subscription = form.ngSubmit.subscribe(() => {
console.log('submitted');
});
form.onReset = () => {
console.log('reset');
};
}
ngOnDestroy() {
if (this.subscription) {
this.subscription.unsubscribe();
}
}
}
Run Code Online (Sandbox Code Playgroud)
使用类似指令
<form appForm #form="ngForm">
<button type="submit">Submit</button>
<button type="reset">Reset</button>
<button type="button" (click)="form.resetForm()">Angular reset</button>
</form>
Run Code Online (Sandbox Code Playgroud)
有没有办法通知我的指令resetForm方法已被调用?
StackBlitz 的演示https://stackblitz.com/edit/angular-adymlf?file=src/app/form.directive.ts
重命名输入属性有什么问题?如果我有以下组件
@Component({
selector: 'sc-heading',
templateUrl: './sc-heading.component.html',
styleUrls: ['./sc-heading.component.scss']
})
export class ScHeadingComponent {
@Input()
title: string;
@Input()
class: string;
@Input('columns')
set columnsSet(value: string | number) {
if (typeof value === 'string') {
this.columns = parseInt(value, 10);
} else {
this.columns = value;
}
}
columns = 1;
}
Run Code Online (Sandbox Code Playgroud)
覆盖列属性设置器以便它可以将字符串作为输入并解析它有什么问题?我刚刚切换到 angular-eslint,它有一个规则 @angular-eslint/no-input-rename ,这导致了这个错误。我在多个地方使用了这个,所以在我去禁用该规则之前,我想知道这种做法是否有什么问题。
如果我有一个依赖于另一个服务调用结果的服务调用,那么链接它们的最佳方法是什么?
myService.getStuffFromServer().subscribe(data => {
let manipulatedData = functionThatManipulatesData(data);
myService.getMoreStuffFromServer(manipulatedData).subscribe(moreData => {
doStuffWithMoreData(moreData);
});
});
Run Code Online (Sandbox Code Playgroud)
是我一直在做的方式,但有时候嵌套有点乱.有更干净的方式吗?
我从数据库中提取了一堆时间表条目,并使用它们来创建发票.保存发票并拥有ID后,我想用发票ID更新时间表条目.有没有办法批量更新实体而不是一次加载一个实体?
void SaveInvoice(Invoice invoice, int[] timeEntryIds) {
context.Invoices.Add(invoice);
context.SaveChanges();
// Is there anything like?
context.TimeEntries
.Where(te => timeEntryIds.Contains(te.Id))
.Update(te => te.InvoiceId = invoice.Id);
}
Run Code Online (Sandbox Code Playgroud) 我构建了一些自定义表单验证指令,用于将表单字段与其他属性进行比较。当您更改表单字段的值时,它们会很好地工作,验证会触发并更新表单字段的有效性。
我遇到的问题是,当我将其与更改进行比较的属性时,不会触发表单验证,并且与该属性进行比较的表单字段不会更改有效性。
我在这里创建了一个 stackblitz 示例。
https://stackblitz.com/edit/angular-t7h2ok
当您更改第一个字段的值时,如果它与其他字段相同则无效,否则有效。问题是当我更改其他字段时,我想确保在更改其他属性时更新第一个表单字段的有效性。
如果我有这个 Bootstrap 标记,它会呈现按钮之间有空格的良好效果
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<div class="container-fluid">
<form>
<button type="submit" class="btn btn-primary">Submit</button>
<button type="reset" class="btn btn-secondary">Reset</button>
</form>
</div>Run Code Online (Sandbox Code Playgroud)
但是,如果我在 Angular 模板中具有与 StackBlitz https://stackblitz.com/edit/angular-fqw3g6?file=src/app/app.component.html中相同的标记,则空白将被删除,按钮将触摸彼此。
<link _ngcontent-cyj-c2="" crossorigin="anonymous" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" rel="stylesheet"><div _ngcontent-cyj-c2="" class="container-fluid"><form _ngcontent-cyj-c2="" novalidate="" class="ng-untouched ng-pristine ng-valid"><button _ngcontent-cyj-c2="" class="btn btn-primary" type="submit">Submit</button><button _ngcontent-cyj-c2="" class="btn btn-secondary" type="reset">Reset</button></form></div>Run Code Online (Sandbox Code Playgroud)
是否有可能让 Angular 保留模板空白,因为在这种情况下它特别重要。