问题标签 [stimulusjs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - 如何使用 Sortable.js、acts_as_list 和 Stimulus 为nested_attributes 获得正确的位置
我正在尝试使用nested_attributes实现“拖放排序列表”(https://gorails.com/episodes/rails-drag-and-drop-sortable )。
不幸的是,我弄错了:position
。即使总共应该只有三个位置,它也会从 2 跳到 5 到 7。
我认为问题在于隐藏的输入标签也被计算在内。如果这是主要问题,有什么办法解决吗?
stimulusjs - 刺激 - 如何在连接时设置变量
我正在尝试进入stimulusJS
我希望能够在连接时获得此值,因为我想知道它是否已更改。
ruby-on-rails - CableReady 频道的 insert_adjacent_html 的反面?
问题已得到解答 - 请参阅下面的帖子
我有一个 CableReady 频道“当前”,它动态显示“帖子”的提要。我可以让帖子单独出现就好了,但我不知道如何单独从频道中删除它们。
这个 Posts 到通道的输入是在 PostsController.rb 中控制的,如下所示:
我尝试了一种remove
方法,例如cable_ready["current"].remove(...
,但这只会一次性删除频道中的所有帖子
我计划在我的 PostsController.rb 中使用另一种方法来执行删除:
我不想完全从 DOM 中删除帖子,因为提要是动态的,我希望它们能够在某个时候再次显示在提要中。
编辑:对通缉行为的进一步解释
想象提要像 twitter,新帖子出现在顶部。但是这些帖子只会出现一定的秒数。您还可以将提要倒回到某个点。因此,如果您倒带时间,从提要中删除的帖子可能会再次出现在顶部。
感谢您对其他策略的任何想法或建议,谢谢
javascript - Rails 6 Stimulus.js 不会运行
我在我的新 Rails 6 应用程序中安装了 Stimulus.js。
在我的packs/application.js
文件中,我有以下内容:
在里面app/javascript/controllers/index.js
,我有以下内容:
我有一个hello_controller.js
看起来像
我已经将它插入到 DOM 元素上,如下所示:
当 webpacker 捆绑所有内容并刷新站点时,我console.log
的开发控制台中没有呈现,也没有看到任何错误消息。
ruby-on-rails - 无法在 collection_select Rails 6 中进行 Stimulus JS 数据操作
我是 Stimulus JS 的新手。我试图collection_select
在表单中使用一个简单的事件触发(使用 rails g 脚手架创建)有点卡住了。
这是我的dropdown-controller.js
(刺激)文件:
这是我的_forms.html.erb
文件:
我尝试了很多事情:
<%= form.collection_select :company_id, Company.all, :id, :name, data: {action: "change->dropdown#handleChange"} %>
<%= form.collection_select :company_id, Company.all, :id, :name, {data: {action: "change->dropdown#handleChange"}} %>
<%= form.collection_select :company_id, Company.all, :id, :name, data: {action: "dropdown#handleChange"} %>
...ETC
console.log('works!)
如果我使用 html select 标签而不是 rails' ,我只能触发collection_select
。如果我创建一个测试按钮或者我使用它,则该事件会触发form.check_box
。
有任何想法吗?对不起,如果这是一个愚蠢的问题,我没有想法。
谢谢!
ruby-on-rails - 如何在加载事件时将数据值传递给激励控制器
我有一个刺激控制器
和html代码
想法是,当页面加载时,控制器具有用户的 id。当我重新加载页面时,我在控制台中看到以下错误
var id = event.target.dataset.value;
这是由语句触发的。
但是,如果我将事件从 更改load@window
为click
,那么当我单击跨度时,代码将起作用并检索 id。我该如何解决?
ruby-on-rails - 条纹和刺激给出'无法读取未定义的属性'条纹'
我试图让 Stripe 在 Rails 环境中使用 Stimulus 控制器工作。当我按照 Stripe 说明使用 Checkout 时,它可以完美运行。当我使用刺激时(我认为!)是相同的代码,我在控制台中收到以下错误:
这似乎是以下代码行:
以下是刺激代码的完整列表:
这似乎与以下内容相同:
这是来自 Rails 的代码(似乎正在工作):
提前感谢您的帮助
javascript - 如何使用类删除监听器
我正在为我的 js 使用 StimulusJS,我希望能够在用户转到新页面时删除一个侦听器。
到目前为止,我已经创造了对我来说看起来不错的东西
但问题是听众仍然在那里。我已经阅读了关于 bind 的评论,并且这个Javascript removeEventListener 不起作用,但我不太明白。似乎我应该有一个绑定我this.closeModal
的全局变量,但是我的类中如何有一个全局变量?
ruby-on-rails - 为什么我会收到“目标元素缺失”错误?
我的 Rails 6 应用程序出现错误,因为它找不到我的数据目标,但我不明白为什么。
Chrome 控制台中的错误:
我的观点:
_messages 部分:
我的控制器:
当我检查 HTML 时,它显示:
ruby-on-rails - 自定义刺激反射类
我正在 Rails 6 中进行一个实验项目。这个项目的目的对我来说是学习新的方法和使用新的(“ish”)技术。
简而言之,我正在使用Trailblazer基础设施、stimulus_reflex和view_component以及view_component_reflex。
据我所知,StimulusReflex
&ViewComponentReflex
期望反射类驻留在reflexes
文件夹/命名空间中。
我想要达到的目标:
ViewComponentReflex
将我的组件嵌套在Trailblazer
概念文件夹(命名空间)中。
我试过的:
创建了以下文件夹结构:
concepts/post/component/counter.rb
concepts/post/component/counter/counter.html.erb
预期结果:
我希望 Rails 允许命名空间等。设置上述内容并运行示例应用程序时,出现错误:uninitialized constant Component::CounterReflex
. 这个类的依赖是内置在其中一个宝石中的,但我不知道在哪里可以找到它。我尝试过覆盖一些方法ViewComponentReflex
无济于事。
当我将我Component::Counter
的移动到components
文件夹(如本例中所示)时,代码有效。
有没有办法使用这个堆栈重新定义/配置反射类的路由(模块)?
更新:
我的应用程序的 GitHub 存储库可以在这里找到
我在点击计数器按钮时看到的确切错误消息是: