使用.jade和JS函数的按钮onClick

问题描述 投票:0回答:1

我正在尝试对.jade文件中的按钮onClick使用功能。该函数位于javascript文件中。我想在单击按钮时使用屏幕截图功能。我的问题是我是否正确导入.js文件?另外,我是否正确调用该函数?

运行时,这是我得到的错误:

Invalid or unexpected token on the line button(onClick = # 
{screenshots(client)}) GO

Index.jade

extends layout

block content
  h1= title
  script (src='../scripts/screenshot.js')
  p Welcome to #{title}
  button(onClick = #{screenshots(client)}) GO
  div.Windows
    img(src="http://localhost:3000/images/myscreenshot2.png", class="image", width="20%", height="20%")  
    object(data="http://localhost:3000/test.txt",class = "texttest",width='50%', height='615px' display: block;)

screenshot.js

async function screenshots(client) {
    await client.takeScreenshot().then(
client.saveScreenshot("./public/images/myscreenshot2.png")
);
}


async function connection () {

    const wdio = require("webdriverio");
    const assert = require("assert");

const opts = {
    port: 4723,
    capabilities: {
        platformName: "Android",
        platformVersion: '8.1',
        deviceName: "emulator-5554",
        app: "C:\\Users\\user1\\Downloads\\test.apk",
        automationName: "UiAutomator2"
    }
};
    const fs = require('fs');   
    const client = await wdio.remote(opts);
javascript pug
1个回答
0
投票

您的问题来自服务器端的pug / jade和客户端JavaScript的混合。

让我们关注您的按钮代码:

button(onClick = #{screenshots(client)}) GO

[#{}是一个pug指令,用于将变量的值插入该空格。在按下按钮时,您只希望它调用本地脚本,而无需使用哈巴狗/玉器:

button(onClick= "screenshots(client)") GO

您得到的错误代码是由于尝试在pug / jade期望一个可以评估为字符串的表达式时调用此函数。

© www.soinside.com 2019 - 2024. All rights reserved.