我遵循以下路线,并且将一系列变量传递给哈巴狗模板。
items.js路线
router.get('/edit/:itemObjectId', async function(req, res, next) {
var itemObjectId = req.params.itemObjectId;
var equipmentCategoryArr = [];
var lifeExpectancyArr = [];
var businessUnitResponsibleArr = [];
var item = undefined;
try {
item = await db_item.getItem(itemObjectId);
// Where item["result"] is either undefined or a JavaScript Object. E.g. {"createdAt":"2018-11-07T04:07:44.587Z","updatedAt":"2018-11-07T04:25:18.526Z","item_name":"GM Portable","manufacturer":"GM"}
res.render('editItem', {
title: 'Edit item details', // Give a title to our page
item: item["result"],
equipmentCategoryArr: req.app.locals.equipmentCategoryArr,
lifeExpectancyArr: req.app.locals.lifeExpectancyArr,
businessUnitResponsibleArr: req.app.locals.businessUnitResponsibleArr
});
} catch (err) {
return Promise.reject(JSON.stringify({ "Error": err }));
}
});
在我的editItem.pug
页面上,我需要将一项的变量传递到javascript部分和一系列输入框或标签中。
editItem.pug
extends layout
block extraScript
script.
$(document).ready(function(){
// HOW TO PASS THE ITEM HERE IN THE JAVASCRIPT SECTION
// FOR EXAMPLE:
// if (item == undefined) {
// alert("item not found");
//}
});
block content
.container
if (item != undefined)
.card
h1.text-center #{title}
form(method='POST' action='/items/addItem' class='needs-validation' enctype='multipart/form-data' novalidate)
.card
.card-header
i.icon-calendar
h4.panel-title Item Name
.card-body
.form-row
input#validationItemName.form-control(name='itemName' type='text' placeholder='Item name' required='')
div.invalid-feedback Item name is required!
// HOW TO PASS item.item_name TO THIS INPUT BOX
答案 0 :(得分:1)
要将/**
* Create the RemoteWebDriver instance.
*
* @return \Facebook\WebDriver\Remote\RemoteWebDriver
*/
protected function driver()
{
$options = (new ChromeOptions)->addArguments([
'--disable-gpu',
'--headless'
]);
return RemoteWebDriver::create(
'http://localhost:9515', DesiredCapabilities::chrome()->setCapability(
ChromeOptions::CAPABILITY, $options
)
);
}
的值传递到输入元素中,只需省略引号,它将在服务器上呈现:
item.item_name