gpt4 book ai didi

javascript - 如何命名我们的 JS 以与 Rails Assets 管道一起使用

转载 作者:可可西里 更新时间:2023-11-01 02:20:03 25 4
gpt4 key购买 nike

我理解 Rails 3.1 Assets 管道背后的原因:我们将所有 JS 编译到一个整洁的、可缓存的文件中以提高性能。太好了,我们想要那个。

但是,加载所有内容也意味着我们必须非常小心,不要在多个页面上使用某个 ID 或类,如果我们附加了一些 JS。否则,JS 将在两个页面上触发,因为它始终处于加载状态。

现在,我们想要实现的是:
* 我们希望将所有内容保存在一个 JS 文件中(我们知道如何单独加载文件,只是不想那样)
* 我们想在每个 controller_name.js 中为 JS 命名空间所以它只在适当的命名空间被初始化时加载
* 我们想通过从 <body> 上的数据属性读取当前 Controller 来初始化适当的命名空间我们布局的标签

问题是:我们不知道如何在 JS 中实现。特别是如何给JS命名空间,然后根据HTML标签的内容动态初始化..

非常感谢任何帮助!

最佳答案

这是一种在 Controller /操作级别命名空间的方法

你基本上是这样声明你的 body

<body data-controller="<%= controller_name %>" data-action="<%= action_name %>">

然后调用这些方法(每个方法都有一系列方法——所以如果你需要在每个页面上都有一些东西,它在 common/init 中。或者在所有用户操作上,在 users/init 中。或者只有用户显示页面?那是 users/show。

SITENAME.common.init();
SITENAME.users.init();
SITENAME.users.show();

我用过这个,效果非常好。

关于javascript - 如何命名我们的 JS 以与 Rails Assets 管道一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8566129/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com