我目前正在处理几个字段(超过10个字段)的Angular/Typescript中的表单,我想更正确地管理错误而不重复我的html页面中的代码.
以下是表单的示例:
<form [formGroup]="myForm">
<label>Name</label>
<input type="text" formControlName="name">
<p class="error_message" *ngIf="myForm.get('name').invalid && (myForm.submitted || myForm.get('name').dirty)">Please provide name</p>
<label>Lastname</label>
<input type="text" formControlName="lastname">
<p class="error_message" *ngIf="myForm.get('lastname').invalid && (myForm.submitted || myForm.get('lastname').dirty)">Please provide email</p>
<label>Email</label>
<input type="text" formControlName="email">
<p class="error_message" *ngIf="myForm.get('email').hasError('required') && (myForm.submitted || myForm.get('email').dirty)">Please provide email</p>
<p class="error_message" *ngIf="myForm.get('email').hasError('email') && (myForm.submitted || myForm.get('email').dirty)">Please provide valid email</p>
</form>Run Code Online (Sandbox Code Playgroud)
就我而言,我的表单有两种类型的验证:
我尝试使用这里提到的指令
<form [formGroup]="myForm">
<label>Name</label>
<input type="text" formControlName="name">
<div invalidmessage="name">
<p *invalidType="'required'">Please provide name</p>
</div>
<label>Lastname</label>
<input type="text" …Run Code Online (Sandbox Code Playgroud)Vi编辑器最初是在ADM-3A终端上编写的,它有Escape钥匙代替Tab钥匙(与大多数现代键盘相比).许多触摸打字员都很欣赏这样一个事实,即他们可以在使用Vim的同时将手放在键盘的主页上,但使用Esc它会使得必须让双手按下Esc.我正在学习vim.应该重新映射Esc到其他地方吗?这种情况下最常见的重映射是什么?或者我应该留下重新映射的想法Esc并继续使用它?vim的pro用户做什么?
我安装了VSCode,下载了官方Python 3.6.4.
检测到VSCode并将环境设置为正确 - 我确实看到"python.pythonPath"用户设置设置正确.
但是,使用VS代码中使用,当Ctrl+ F5运行Python文件,我一直在问的"选择环境",它表明了我两个选择-的Python - Python的实验
什么是"Python实验"?每次尝试运行脚本时,如何摆脱中断?
我最近发现了这个名为fzf的命令行工具。我按照说明安装了它,它确实有效,除了CTRL-T键绑定之外。尽管如此,我按照他们的说明安装了带有键绑定的特殊内容,并且我还尝试安装从 git 存储库下载的 fzf,而不是通过自制程序,所有CTRL-T键绑定仍然是交换最后两个字符。
我找到了有关此问题的讨论,但所提供的答案都不适合我。
编辑:您可以在第一个视频中看到我想要实现的目标。编辑2:我正在使用MacOs 的终端。
在AngularJS中,我们可以使用$watch,$digest... 来监听变量更改,这对于新版本的Angular(5,6)是不可能的.
在Angular中,此行为现在是组件生命周期的一部分.
我检查了官方文档,文章,尤其是关于可变对象的Angular 5变化检测,以了解如何在TypeScript类/Angular中监听变量(类属性)更改
今天提出的建议是:
import { OnChanges, SimpleChanges, DoCheck } from '@angular/core';
@Component({
selector: 'my-comp',
templateUrl: 'my-comp.html',
styleUrls: ['my-comp.css'],
inputs:['input1', 'input2']
})
export class MyClass implements OnChanges, DoCheck, OnInit{
//I can track changes for this properties
@Input() input1:string;
@Input() input2:string;
//Properties what I want to track !
myProperty_1: boolean
myProperty_2: ['A', 'B', 'C'];
myProperty_3: MysObject;
constructor() { }
ngOnInit() { }
//Solution 1 - fired when Angular detects …Run Code Online (Sandbox Code Playgroud)在javascript Event对象中,有一些布尔值来检查是否按下了修改键:
ctrlKey:CTRL关键.altKey:ALT关键.altLeft:ALT左键.仅适用于IE.altGraphKey:ALTGR关键.仅适用于Chrome/Safari.但是,有一些问题:
ctrlKey,以true和altKey对true当你按下ALTGR修改.ctrlKey要false和altKey到true当你按下ALTGR修改,因为只有ALT已被按下.altGraphKey有财产,但总是如此undefined.问题:如何区分ALT+ CTRL或ALTGR按键?特别是在Chrome中.
我已经开始在Firebug中使用Break On Next功能(在Script和HTML选项卡中),它非常有用.唯一的问题是,当我单击按钮时,我需要在页面上导航鼠标,就像稳定的手游戏一样,以获得正确的元素,因此正确的变异/脚本会被触发.这非常令人厌烦,有时如果有整页活动或类似活动则不可能.
真正有用的是键盘快捷键,因此鼠标可以位于相关元素的上方/旁边,然后执行Break On Next,然后只要移动鼠标就会冻结页面.
我看过Firebug文档并做了一些谷歌搜索,但无济于事.有谁知道这是否可能和/或即将到来?看起来像一个明显的特征,也许是目前的疏忽(虽然Firebug是另一种最好的工具之一......).
我在FF12上运行FireBug 1.9.1.
更新:由Sebastian Zartner提供,已经引入了一个快捷方式(Ctrl+ Alt+ B),它将出现在Firebug 1.10a8中:http://code.google.com/p/fbug/issues/detail? id = 5044#c4
代码在这里:https://github.com/firebug/firebug/commit/9a0f74c622df7f5faccaa7c59b8c4ffa457e7d78
请注意,必须关注Firebug以使快捷方式起作用.Google代码问题页面上还有其他建议可以进一步改进其行为.
我正在使用React native开发一个移动应用程序,并尝试使用firebase作为数据库.昨天我试图将我的React原生版本从0.37升级到0.40但是有些文件冲突了,我的应用程序没有启动.所以我恢复到版本0.37.(我用最早的副本复制粘贴的冲突文件来解决这个问题)
现在,当我将firebase代码片段粘贴到我的App.js文件以设置firebase时,我收到错误"无法读取未定义的属性'getItem'"
如果我删除firebase片段一切正常.否则,1-2秒后会弹出红色屏幕,附件上出现错误.
我怀疑,我在恢复反应原生0.37的途中打破了一些东西.我试图卸载并重新安装firebase无济于事.现在我正在打我的脑袋,任何帮助都会受到极大的影响.
关于如何最好地与代码导航并行开发多个打字稿模块并仍然以正确的方式发布,我有点困惑.那么我应该把它放在package.json"types"字段中呢?
根据:Typescriptlang.org/publishing.html
我应该index.d.ts像我这样生成一个引用:
{
"name": "awesome",
"author": "Vandelay Industries",
"version": "1.0.0",
"main": "./lib/main.js",
"types": "./lib/main.d.ts"
}
Run Code Online (Sandbox Code Playgroud)
如果我然后并行开发一个依赖于此模块的模块,npm link例如vscode中的代码导航会让我跳转到这个定义文件中.这不是我想要的.
我想进入源文件,以便能够在dep中并行编辑.在这方面没有内联或无内联的tsconfig设置有帮助.我可能会在这里遗漏一些东西.我管理我的工作流程以正常工作的唯一方法是实际指向源main.ts文件:
{
"name": "awesome",
"author": "Vandelay Industries",
"version": "1.0.0",
"main": "./lib/main.js",
"types": "./src/main.ts"
}
Run Code Online (Sandbox Code Playgroud)
然而,这会在发布时让事情破裂吗?
至少如果我把src放在.npmignore下面.我无法理解使用多个打字稿模块获得良好工作流程的最佳方法.
我的意思是,我不想将package.json作为发布过程的一部分进行修改......?
我是ReSharpers"清理代码"功能的忠实粉丝.特别是解决方案广泛清理.
但我使用Visual Studio的Ctrl+ K+ D(格式文档),它格式化的代码与ReSharper略有不同.
我正在寻求将ReSharper与Visual Studio对齐(而不是另一种方式......因为您无法在解决方案/源代码控制系统中共享Visual Studio设置).
所以我是这样的:
<Configuration>
<CodeStyleSettings>
<Sharing>SOLUTION</Sharing>
<CSharp>
<FormatSettings>
<SPACE_AROUND_MULTIPLICATIVE_OP>True</SPACE_AROUND_MULTIPLICATIVE_OP>
<SPACE_BEFORE_TYPEOF_PARENTHESES>False</SPACE_BEFORE_TYPEOF_PARENTHESES>
</FormatSettings>
</CSharp>
</CodeStyleSettings>
</Configuration>
Run Code Online (Sandbox Code Playgroud)
哪些其他设置将帮助ReSharper格式化代码,如Visual Studio?
javascript ×3
typescript ×3
angular ×2
angular5 ×2
keyboard ×2
breakpoints ×1
command-line ×1
ecmascript-6 ×1
firebase ×1
firebug ×1
fzf ×1
homebrew ×1
html ×1
linux ×1
python ×1
python-3.x ×1
react-native ×1
reactjs ×1
resharper ×1
terminal ×1
unix ×1
vim ×1