考虑下面的rails视图:
<div
data-controller='manager'
data-manager-target='inputcontainer'
>
<input
class='hidden'
type='text'
data-manager-target='input'
>
</div>
<div
data-manager-target='label'
data-action='dblclick->manager#show'
>
double click to show input
</div>
字符串
在manager_controller.js
中的代码:
show() {
this.inputcontainerTarget.classList.remove('hidden');
this.inputTarget.focus();
}
型
当我双击第二个div
显示第一个时,我得到错误Uncaught TypeError: self.inputTarget is undefined
。
我明白为什么会这样,但我正在努力找到一种方法来使它工作。
有谁知道我该怎么做?
这是一个Ruby on Rails 7.1应用程序,我使用Stimulus连接前端和Tailwind进行造型。
1条答案
按热度按时间vshtjzan1#
个字符
注意,
data-controller="manager"
元素上不需要data-manager-target="inputcontainer"
,你可以用this.element
引用控制器元素本身。