小编kke*_*ern的帖子

如何在Angular2中获取(DOM)元素的宽度

有一些类似的线程,但我找不到合适的答案满足我的需求.所以在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)

javascript angular2-directives angular

28
推荐指数
3
解决办法
6万
查看次数

Composer - 请求包[0.0.9]以[0.0.5,0.0.6]存在,但这些被约束拒绝

今天我发现了一个我无法形容的奇怪错误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由于某种原因放到子目录中.所以这就是作曲家找不到最新标签的问题.

php git composer-php

15
推荐指数
1
解决办法
1264
查看次数

angular2组件中的多个动画触发器

我想在一个组件中定义多个动画触发器.这可能吗?

例如,一个用于进入场景,一个用于悬停.或者我是否需要为此案例定义两个组件(父子组件)?

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)

javascript angular2-animation angular

5
推荐指数
1
解决办法
7267
查看次数