如何在ember 4.12控制器中访问dom

9vw9lbht  于 2023-06-22  发布在  其他
关注(0)|答案(1)|浏览(131)

我在DOM中有一个输入框,在控制器中监控输入值,还有另一个按钮,如果输入值改变了,我想相应地改变按钮的标题或属性,在控制器中该怎么做?
test.hbs

<input type="text" value="somevalue" {{on "click" this.updatevalue}}/>
<button type="button" id="test">test</button>

test.js

@action
  updatevalue(value) {
    //how to access test button, and change its title?
  }
0vvn1miw

0vvn1miw1#

on修饰符是addEventListener/removeEventListener的缩写,因此单击按钮,一旦在按钮上使用了on,事件处理程序就会收到MouseEvent
那么

@action
  handleClick(event) {
    event.target // the button
  }

  @action
  updatevalue(event /* not value */) {
    event.target // the input
  }
<button type="button" {{on 'click' this.handleClick}}>test</button>

这是一个live demo
参考文献:

相关问题