注入服务与public和private之间有什么区别.我看到大多数示例在angular组件中使用private关键字.使用公众会有什么影响吗?例如
constructor(public carService: CarService) { }
Run Code Online (Sandbox Code Playgroud)
与
constructor(private carService: CarService) { }
Run Code Online (Sandbox Code Playgroud) 可以说我有以下方法:
getErrorMessage(state: any, thingName?: string) {
const thing: string = state.path || thingName;
const messages: string[] = [];
if (state.errors) {
for (const errorName in state.errors) {
switch (errorName) {
case 'required':
messages.push(`You must enter a ${thing}`);
break;
case 'minlength':
messages.push(`A ${thing} must be at least ${state.errors['minlength'].requiredLength}characters`);
break;
case 'pattern':
messages.push(`The ${thing} contains illegal characters`);
break;
case 'validateCardNumberWithAlgo':
messages.push(`Card doesnt pass algo`);
break;
}
}
}
return messages;
}
Run Code Online (Sandbox Code Playgroud)
我跑的时候
ng lint
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
for(... in ...)语句必须使用if语句进行过滤
看一下类似的问题,我认为答案不适用于我的情况.所有switch语句都在if-else-if阶段的类别中.
tslint应该将switch语句视为if语句的形式,但它没有?!
我正在将拖动功能实现为一个角度应用程序:http://jsfiddle.net/Jjgmz/1/
部分原因是监听mousemove
文档对象上的事件.
$(document).mousemove(function(e) {});
Run Code Online (Sandbox Code Playgroud)
如何在组件内部监听文档对象?
让我们假装这是component.html文件的内容:
<div id="box"></div>
Run Code Online (Sandbox Code Playgroud)
我正在使用Angular 4.
我试图改变用户访问我的网站时看到的页面.如果他们是匿名的,他们应该看到注册页面.如果他们已登录,他们应该看到他们的仪表板.
我有一个服务,它检查用户是否登录(例如检查cookie),当Angular服务加载时触发.我试图使用$ routeProvider重定向但是在初始化$ routeProvider时没有触发服务,所以它总是认为用户没有登录.
一旦加载了初始页面,我就可以轻松地重定向,但是我很难重定向加载的第一页.任何人都可以就如何做到这一点提出建议吗?
我有一个<div>
我想成为一条线的人.根据W3Schools,这个规则:
div.foo {
clear: both;
}
Run Code Online (Sandbox Code Playgroud)
......应该是这样的:
"左侧或右侧都不允许浮动元素."
但是,如果我<div>
向左浮动两个元素,并将上面的规则应用于第一个元素,则第二个元素不会移动.
另一方面,如果我申请"clear: left"
第二个<div>
,它会向下移动到下一行.这是我的正常方法,但我不明白为什么我必须这样做.
上面的W3Schools描述是不是很清楚,还是我错过了什么?清算规则是否只能移动应用它的元素?
感谢Michael S和John D的好解释.沃伦指出了CSS2规范,这就是我找到这个答案的地方(强调我的):
此属性指示元素框的哪些边可能不与较早的浮动框相邻 .
所以:clear
只影响应用它的元素的位置,相对于代码前面出现的元素.
令人失望的是,我不能告诉我<div>
让其他div移动,但他们是休息.:)
RegexOptions.IgnoreCase比我想象的要贵(例如,应该几乎不可测量)
假设这适用于PHP,Python,Perl,Ruby等以及C#(这是我假设Jeff正在使用的),它会减速多少,并且我会/[a-zA-z]/
像我一样承受类似的惩罚/[a-z]/i
?
我最喜欢的仅使用CSS来居中xhtml元素的等式如下:
display: block;
position: absolute;
width: _insert width here_;
left: 50%;
margin-left: _insert width divided by two & multiplied by negative one here_
Run Code Online (Sandbox Code Playgroud)
还有更简单的边距:支持它的浏览器中的自动方法.有没有其他人有强大的方法来强制内容显示在其容器中心?(垂直居中的奖励积分)
编辑 - 哎呀,忘了边缘左边的'负面'部分.固定.
我正在寻找一种方法来检查pageLoad()
是否在加载事件期间由于回发/异步回发或由于第一次加载和访问而引发此方法.
这类似于Page.IsPostback
页面后面代码中的属性.
TIA,Ricky
考虑以下代码:
(function () {
'use strict';
delete document.body.dataset.state;
})();
Run Code Online (Sandbox Code Playgroud)
身体dataset
是空的.Safari浏览器将所有DOMStringMap值-嗯,我猜是这样-因为ReadOnly
,他们enumerable
,configurable
和writable
描述符值都设置为false
.这导致TypeError: Unable to delete property
出现在上面提到的例子中.
但是在Chrome数据集中,属性描述符值设置为true
(可以检查Object.getOwnPropertyDescriptor()
),删除不存在的属性不会抛出错误.
那么,什么行为是正确的?该规范说明了readonly数据集,但可写DOMStringMap,所以我假设数据集属性必须是可删除的.我错过了什么吗?
angular ×3
css ×3
javascript ×2
layout ×2
typescript ×2
angular-cli ×1
angularjs ×1
asp.net-ajax ×1
center ×1
css3 ×1
dom ×1
lifecycle ×1
positioning ×1
postback ×1
regex ×1
safari ×1
tslint ×1