如果我快速点击我的提交按钮,表单会被提交两次或更多次.我的想法是使用disabled属性来防止这种情况,但我需要disableButon在每种形式中使用变量:
@Component({
selector: 'example',
template: `
<form (submit)="submit()" >
<--! Some Inputs -->
<button [disabled]="disableButton" type="submit">Submit<button>
</form>
`
})
export class ExampleComponent {
private disableButton: boolean = false;
.......
submit(){
this.disableButton = true;
/*
* API call
*/
this.disableButton = false;
}
}
Run Code Online (Sandbox Code Playgroud)
我这样做是对吗还是有更优质/优雅的方式来做到这一点?
我正在使用智能/转储组件构建我的Redux(NgRx)应用程序,但我正在努力决定愚蠢的组件应该是多么"愚蠢"......
例如,我有一个智能组件(posts),它有一个哑组件(post-list),其中包含哑组件(post).直到这里一切都很好看.
要显示一些按钮,我需要知道用户是否是admin,我需要将属性admin一直传递posts给post.
我可以将哑组件连接post到商店并直接从哑组件中获取.或者在这种情况下组件是否更愚蠢?它看起来像这样:
private admin$: Observable<boolean>;
constructor(private store: Store<AppState>){
this.admin$ = this.store.let(isAdmin());
}
Run Code Online (Sandbox Code Playgroud)
我认为这样可以节省大量的冗余.这是好事还是坏事?
假设我在AL中有这个字节:01100001
在应用镜像函数后,我希望字节为10000110.
我提出的所有想法都必须使用其他寄存器,但我很好奇是否有办法镜像一个字节而不使用任何其他寄存器?
在我的项目中,我有一个模型categories,它有一个详细视图(显示).该视图包含应使用actioncable实时更新的数据.视图的内容/数据对于理解问题并不重要.
一个标准的设置,我只有一个类别与硬编码ID完美,但现在我想使它动态和页面特定,所以我不需要打开100个订阅,我mabye甚至不需要,如果我是不在类别详细信息页面上.
第一个问题:如何仅为当前页面/类别创建连接?
第二个问题:我如何获得当前类别的ID?
App.cable.subscriptions.create { channel: "RankingChannel", category_id: HOW_DO_I_GET_THIS}
Run Code Online (Sandbox Code Playgroud)
我发现的唯一的事情就是这个,但它不起作用:https: //stackoverflow.com/a/36529282/5724835
我有一个包含日期(格式化toLocaleString())和其他东西的组件列表.在它们之上有一个用于创建新组件的组件,其中包含一个带有一些使用角色形状构建器构建的输入字段的表单.当我快速键入时,验证滞后并且我正在键入的文本不会立即显示.
我假设Angular正在重新渲染所有组件,因为如果我不在其他组件中显示日期,我可以快速键入而不会有滞后.
有没有办法只重新输入我输入的输入字段,因为所有其他组件都无法更改或是toLocaleString()问题?
我目前正在使用Ionic2和ngrx构建一个应用程序,如果没有网络连接,我试图阻止certian Actions.
有了停止,我的意思是以某种方式使它们对其他效果和商店不可见或阻止它们进一步"传播".
有没有办法做这样的事情?
@Effect()
checkNetworkConnection$ = this.actions$
.ofType(book.ActionTypes.LOAD_BOOKS, book.ActionTypes.CREATE_BOOK)
.if(Network.connection === 'none')
.do(() => new ShowNetworkAlertAction()) //Returns ShowNetworkAlertAction
.stopPropagation(); // Removes the Action from the stream
Run Code Online (Sandbox Code Playgroud)
stopPropagation()应该以某种方式从流中"删除"Action,之后应该就像从未调度过该动作一样.甚至商店也不应该更改任何内容或执行将在此Action上执行的代码.
angular ×4
ngrx ×2
redux ×2
actioncable ×1
assembly ×1
ionic2 ×1
performance ×1
rxjs ×1
x86 ×1