使用Angular 2

时间:2016-03-21 03:12:28

标签: angularjs typescript angular

我试图完全按照this post中的描述进行操作,但是在Angular2中。

在用户点击触发器后,基本上在输入中使用javascript函数.setSelectionRange(start, end);。我无法使用Typescript找到任何方法来复制此行为。

提前致谢。

1 个答案:

答案 0 :(得分:4)

  

我找不到使用Typescript复制此行为的方法。

TypeScript只是JavaScript。我怀疑你的意思是说Angular2(该帖子是Angular1)。

Angular2

你需要掌握dom元素(这是你似乎正在努力解决的问题)。在您的控制器中,您需要注入ElementRef。例如。 @Inject(ElementRef) elementRef: ElementRef,

一旦你拥有了元素,你就可以遍历它并做任何你需要进行的访问/手动操作。

更多

文档:https://angular.io/docs/js/latest/api/core/ElementRef-class.html

实施例

示例:https://stackoverflow.com/a/32709672/390330

import {Component, ElementRef} from 'angular2/core';

@Component({
  selector:'display',
  template:`
  <input #myname (input) = "updateName(myname.value)"/>
  <p> My name : {{myName}}</p>
`
})
class DisplayComponent implements OnInit {
  constructor(public element: ElementRef) {
    this.element.nativeElement // <- your direct element reference 
  }
  ngOnInit() {

  }
}