问题标签 [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.

0 投票
2 回答
649 浏览

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。

我认为问题在于隐藏的输入标签也被计算在内。如果这是主要问题,有什么办法解决吗?

0 投票
1 回答
1234 浏览

stimulusjs - 刺激 - 如何在连接时设置变量

我正在尝试进入stimulusJS

我希望能够在连接时获得此值,因为我想知道它是否已更改。

0 投票
2 回答
173 浏览

ruby-on-rails - CableReady 频道的 insert_adjacent_html 的反面?

问题已得到解答 - 请参阅下面的帖子

我有一个 CableReady 频道“当前”,它动态显示“帖子”的提要。我可以让帖子单独出现就好了,但我不知道如何单独从频道中删除它们。

这个 Posts 到通道的输入是在 PostsController.rb 中控制的,如下所示:

我尝试了一种remove方法,例如cable_ready["current"].remove(... ,但这只会一次性删除频道中的所有帖子

我计划在我的 PostsController.rb 中使用另一种方法来执行删除:

我不想完全从 DOM 中删除帖子,因为提要是动态的,我希望它们能够在某个时候再次显示在提要中。

编辑:对通缉行为的进一步解释

想象提要像 twitter,新帖子出现在顶部。但是这些帖子只会出现一定的秒数。您还可以将提要倒回到某个点。因此,如果您倒带时间,从提要中删除的帖子可能会再次出现在顶部。

感谢您对其他策略的任何想法或建议,谢谢

0 投票
1 回答
1595 浏览

javascript - Rails 6 Stimulus.js 不会运行

我在我的新 Rails 6 应用程序中安装了 Stimulus.js。

在我的packs/application.js文件中,我有以下内容:

在里面app/javascript/controllers/index.js,我有以下内容:

我有一个hello_controller.js看起来像

我已经将它插入到 DOM 元素上,如下所示:

当 webpacker 捆绑所有内容并刷新站点时,我console.log的开发控制台中没有呈现,也没有看到任何错误消息。

0 投票
1 回答
2257 浏览

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

有任何想法吗?对不起,如果这是一个愚蠢的问题,我没有想法。

谢谢!

0 投票
1 回答
8391 浏览

ruby-on-rails - 如何在加载事件时将数据值传递给激励控制器

我有一个刺激控制器

和html代码

想法是,当页面加载时,控制器具有用户的 id。当我重新加载页面时,我在控制台中看到以下错误

var id = event.target.dataset.value;这是由语句触发的。

但是,如果我将事件从 更改load@windowclick,那么当我单击跨度时,代码将起作用并检索 id。我该如何解决?

0 投票
1 回答
714 浏览

ruby-on-rails - 条纹和刺激给出'无法读取未定义的属性'条纹'

我试图让 Stripe 在 Rails 环境中使用 Stimulus 控制器工作。当我按照 Stripe 说明使用 Checkout 时,它可以完美运行。当我使用刺激时(我认为!)是相同的代码,我在控制台中收到以下错误:

这似乎是以下代码行:

以下是刺激代码的完整列表:

这似乎与以下内容相同:

这是来自 Rails 的代码(似乎正在工作):

提前感谢您的帮助

0 投票
1 回答
152 浏览

javascript - 如何使用类删除监听器

我正在为我的 js 使用 StimulusJS,我希望能够在用户转到新页面时删除一个侦听器。

到目前为止,我已经创造了对我来说看起来不错的东西

但问题是听众仍然在那里。我已经阅读了关于 bind 的评论,并且这个Javascript removeEventListener 不起作用,但我不太明白。似乎我应该有一个绑定我this.closeModal的全局变量,但是我的类中如何有一个全局变量?

0 投票
3 回答
3032 浏览

ruby-on-rails - 为什么我会收到“目标元素缺失”错误?

我的 Rails 6 应用程序出现错误,因为它找不到我的数据目标,但我不明白为什么。

Chrome 控制台中的错误:

我的观点:

_messages 部分:

我的控制器:

当我检查 HTML 时,它显示:

0 投票
1 回答
414 浏览

ruby-on-rails - 自定义刺激反射类

我正在 Rails 6 中进行一个实验项目。这个项目的目的对我来说是学习新的方法和使用新的(“ish”)技术。

简而言之,我正在使用Trailblazer基础设施、stimulus_reflexview_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 存储库可以在这里找到

我在点击计数器按钮时看到的确切错误消息是: