在Rails 3.1中,无法使用诸如<%= @ foo%>之类的语法访问资产js.erb或coffee.erb文件中的控制器实例变量,其中@foo在控制器中设置.那么问题是将控制器变量传递给CoffeeScript或JavaScript资产的最佳方法是什么.
这个问题在论坛上有多种复杂形式的问题,但我再次提出这个问题的意思是要有一个所有建议聚集在一起的地方,并且所提供的代码简单易读.另请注意,我特指的是资产,而不是查看响应文件.
controller ruby-on-rails erb instance-variables coffeescript
我的组件排列如下:
app-home
shadow-root
component1
shadow-root
div id=div1
Run Code Online (Sandbox Code Playgroud)
换句话说,我的 app-home 和 component1 都有影子 dom。
我可以在 Stenciljs E2E 测试中轻松找到 component1,如下所示:
const page = await newE2EPage();
await page.setContent('<app-home></app-home>');
const component1 = await page.find('app-home >>> component1');
Run Code Online (Sandbox Code Playgroud)
但是,无论我尝试过什么,我都无法在 component1 中获取#div1。获取 E2EElement 非常重要,这样我就可以使用它的方法,例如单击触发页面中的更改。
这是我尝试过的:
page.find('app-home >>> component1 >>> #div1')
返回空值
component1.find(':host >>> #div1')或component1.find(':root >>> #div1')或component1.find('>>> #div1')或component1.find('#div1')或或component1.find('component1 >>> #div1')
返回空值
component1.shadowRoot.querySelector('#div1')
此方法获取一个元素,但单击它或向其分派事件对页面中的 app-root 或 component1 没有影响。
那么,当两个元素都有 ShadowDOM 时,如何找到子元素的子元素,有什么建议吗?
在这篇关于 Google Cloud Pub Sub 的文章中,我们被告知一个函数必须返回一个状态来确认收到消息。我有一个专门与Firebase Cloud Functions pubsub 触发器相关的问题:
我在上面的文档中看不到 Firebase Cloud 函数如何或是否确认 pub sub。有人可以解释一下吗?