我正在努力获取所有相关元素的数据.我使用Laravel作为REST后端服务,将Json暴露给前端javascript应用程序.
考虑我有以下表格:
+----------------+ +----------------+ +-------------+
|topics | |posts | |users |
+----------------+ +----------------+ +-------------+
|id: int | |id: int | |id: int |
|title: varchar | |content: varchar| |name: varchar|
|content: varchar| |user_id: int | +-------------+
|user_id: int | |topic_id: int |
+----------------+ +----------------+
Run Code Online (Sandbox Code Playgroud)
一个主题有0到多个帖子,它有一个作者(用户)
帖子有一位作者(用户)
UML:http://i58.servimg.com/u/f58/11/26/57/95/intrep10.png
class User extends Eloquent {
protected $table = 'users';
public function topics() {
reutrn $this->hasMany('Topic');
}
public function posts() {
reutrn $this->hasMany('Post');
}
}
class Topic extends …Run Code Online (Sandbox Code Playgroud) 我在测试上下文中对 shadowroot 中的元素执行操作时遇到困难。假设我有一个 Web 组件<my-component />,它包含一个按钮<input id="my-button" type="submit" />
从 chrome 控制台,我可以执行以下操作:
document.getElementsByTagName('my-component')[0].shadowRoot.querySelector('#my-button').click()
Run Code Online (Sandbox Code Playgroud)
我正在努力与 puppeteer 做同样的事情。
it('should click the button', async () => {
await page.goto(`https://localhost:${port}`, {
waitUntil: ['networkidle0', 'load'],
});
await page.$eval('my-component', (el: Element) => {
el.shadowRoot.querySelector('#my-button').click();
});
});
Run Code Online (Sandbox Code Playgroud)
单击该按钮应该会向我的服务器发出一个 http 请求,该请求会检索一些数据,然后我想在 dom 中对其进行断言。请求永远不会触发。建议?
web-component typescript jestjs web-component-tester puppeteer
我试图让我的makefile编译一个需要-std=c99运行的文件.在这种情况下,它通过"for-loop"获得.
这是我的代码,(在"$(CC)"之前使用了"tab"):
CC = gcc
CFLAGS = -c -std=c99
...
Download.o : Download.c
$(CC) $(CFLAGS) Download.c
Run Code Online (Sandbox Code Playgroud)
Download.c包含用于从Web下载元素的方法
$ make
gcc -c -std=c99 Download.c
gcc Download.c -o Program
Download.c: In function ‘downloadImageparts’:
Download.c:11:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
Download.c:11:2: note: use option -std=c99 or -std=gnu99 to compile your code
Download.c:13:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
make: *** [comp] Error 1
Run Code Online (Sandbox Code Playgroud)
如果我gcc -c -std=c99 Download.c …
我正在尝试创建一个通用组件,可以在其他应用程序中重用。我需要知道渲染后组件的宽度,以便可以修改组件的内容。
我一直在尝试使用不同的生命周期来做出反应而没有成功。
componentDidUpdate() {
console.log('width', this.element.offsetWidth);
}
render() {
return (
<div ref={(element) => {this.element = element }} />
);
}
Run Code Online (Sandbox Code Playgroud)
尝试此操作时,我得到的是屏幕的宽度,但是如果更改窗口的大小,则会得到该组件的宽度。查看Chrome日志:
ComponentDidMount在渲染之前执行,因此this.element是undefined。
我也尝试过使用npm中的其他库来解决这个问题。
更多信息:组件必须在Bootstrap列中以不同的宽度工作。
render() {
<Row>
<Col sm={3} />
<MyComponent />
</Col>
<Col sm={9} />
<MyComponent />
</Col>
<Row>
}
Run Code Online (Sandbox Code Playgroud)
澄清,我不想调整窗口大小,对于不明确,我深表歉意。我提到调整大小的唯一原因是,当创建DOM并调整大小时,我在中获得了正确的值offsetWidth。我正在寻找一种无需调整大小即可获得正确值的解决方案。后期渲染函数调用,侦听器,一些不可思议的魔术或其他解决方案。我的问题是我对虚拟DOM和实际DOM缺乏了解。
我有一个自我引用的数据模型。我正在尝试使用 JPA(休眠)获取按属性排序的子项列表。但是我在使用 JPQL 时遇到了问题。你对我如何解决这个问题有什么建议吗?
实体
@Entity
public class Foo {
private String bar;
private List<Foo> elements;
}
Run Code Online (Sandbox Code Playgroud)
JPQL
演示 JPQL 给你一个我想要做什么的提示
String jpql = "SELECT f.elements " +
"FROM Foo f " +
"Order By f.elements.bar";
Run Code Online (Sandbox Code Playgroud)