有一些类似的线程,但我找不到合适的答案满足我的需求.所以在angular2中应该严格避免直接DOM访问我只是想知道最新的做法.
我想要实现的是基于当前宽度调整元素的大小.
workitemresize.component.ts
import { Directive, ElementRef, HostListener, Renderer, Input } from '@angular/core';
@Directive({
selector: '[workItemResize]'
})
export class WorkItemResizeDirective implements ngAfterViewInit {
private el: HTMLElement;
private renderer: Renderer;
constructor(el: ElementRef, public renderer: Renderer)
{
this.el = el.nativeElement;
this.renderer = renderer;
}
@HostListener('window:resize', ['$event.target'])
onResize()
{
this.resizeWorks();
}
ngAfterViewInit() {
this.resizeWorks();
}
private resizeWorks(): void {
this.renderer.setElementStyle(this.el, 'height', this.el.width); // <-- doesn't work I kow that this.el.width doesn't exist but just for demonstration purpose
this.renderer.setElementStyle(this.el, 'height', '500'); // <-- works …Run Code Online (Sandbox Code Playgroud) 今天我发现了一个我无法形容的奇怪错误composer update.
{
"repositories": {
"my-plugin": {
"type": "vcs",
"url": "git@mycodebase.com:mjplug/myplugin.git"
}
},
"require": {
"my-plugin/myplugin": "0.0.9",
}
}
Run Code Online (Sandbox Code Playgroud)
当我尝试composer update然后我会得到
The requested package my-plugin/my-plugin 0.0.9 exists as my-plugin/my-plugin[0.0.6, 0.0.5] but these are rejected by your constraint.
但是存在像0.0.7, 0.0.8, 0.0.9存储库中的标签.他们为什么不找到?
如果我设置~0.0.1为版本约束它可以工作,因为composer将安装0.0.6.
任何提示?谢谢
编辑:这是我们的Bitbucket服务器实例的屏幕截图:http://imgur.com/a/m8lRT
编辑2:已解决:在最后一个版本中,我将composer.json由于某种原因放到子目录中.所以这就是作曲家找不到最新标签的问题.
我想在一个组件中定义多个动画触发器.这可能吗?
例如,一个用于进入场景,一个用于悬停.或者我是否需要为此案例定义两个组件(父子组件)?
item.compoennt.ts
// removed the import and class part for better readability
@Component({
selector: 'item',
templateUrl: './item.template.html',
styleUrls: ['./item.style.scss'],
animations: [
// page load animation
trigger('slideIn', [
state('in', style({
opacity: 1,
transform: 'translateY(0)'
})),
transition('void => *', [
style({
transform: 'translateY(100%)',
opacity: 0
}),
animate('0.5s 100ms ease-in')
])
]),
// <--- this fails
// hover animation
trigger('fadeIn', [
state('over', style({
opacity: 1
})),
transition('void => *', [
style({
opacity: 0
}),
animate('0.5s 100ms ease-in')
])
],
})
Run Code Online (Sandbox Code Playgroud)
item.template.html
<div …Run Code Online (Sandbox Code Playgroud)