创建片段时,我想知道如果没有分配值,是否可以为占位符定义默认值。
例如,有这个 php 片段:
{
"get_list": {
"prefix": "get_list",
"body": "$${1:beanList} = $${2:bean}->get_list('${3:order_by}', \"${4:where}\", ${5:row_offset}, ${6:limit}, ${7:max}, ${8:show_deleted});",
"description": "Get a paginate bean list"
},
}
Run Code Online (Sandbox Code Playgroud)
其中制表符 5 到 8 的占位符具有以下默认值:
$row_offset = 0
$limit= -1
$max= -1
$show_deleted = 0
Run Code Online (Sandbox Code Playgroud)
我尝试通过以下方式进行选择,但没有成功:
{
"get_list": {
"prefix": "get_list",
"body": "$${1:beanList} = $${2:bean}->get_list('${3:order_by}', \"${4:where}\", ${5:row_offset|0|}, ${6:limit}, ${7:max}, ${8:show_deleted});",
"description": "Get a paginate bean list"
},
}
Run Code Online (Sandbox Code Playgroud)
请看一下定义row_offset。当片段呈现时,我得到以下内容
$beanList = $bean->get_list('order_by', "where", row_offset|0|, limit, max, show_deleted);
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我希望发生的情况是我省略了分配的占位符值0。
谢谢你的帮助。
我尝试下载以前使用 base 64 编码的 pdf 文件。
我尝试从一个锚标签下载它,如下
<a href="data:application/pdf;base64,JVBERi0xLjUKJbXtrvsKMyAwIG9..." download="file.pdf">Download</a>;
Run Code Online (Sandbox Code Playgroud)
该文件已下载,但当我尝试打开它时,我收到一条消息,指出该文件已损坏或已损坏。
有趣的是,如果我将 href 更改为编码图像数据,则会按预期下载并打开文件。
我找到了这个例子http://jsfiddle.net/filixix/0816jdfq/并且我看到它从data:application/pdf;base64,改为data:application/octet-stream;base64,我尝试过但我得到了相同的结果。
更新
我将pdf文件编码如下
const element = document.querySelector('#file'); // input type file
element.addEventListener('change', handleChange);
function handleChange() {
const file = this.files[0];
const fileReader = new FileReader();
fileReader.onload = function() {
const data = this.result;
// store data in database in a text type field
};
fileReader.readAsDataURL(file);
}
Run Code Online (Sandbox Code Playgroud)
然后,在我想下载文件的视图中,我意识到我评论的逻辑
该getLanguageCodeIndexPosition函数在url的令牌中找到语言代码的位置,我想避免使用临时position变量,这也许是一种更具功能性的解决方案。
我不知道该语言标记是否为en或es,所以我寻找是否找到一个返回其位置的标记
我欢迎你的建议
const languages = ["en", "es"];
const path = "http://www.app.name.local/es/compass/sample-compass/compass-temporal";
function getLanguageCodeIndexPosition() {
const tokens = path.split("/");
let position = undefined;
languages.forEach(sef => {
const index = tokens.findIndex(token => token === sef);
if (index !== -1) {
position = index;
return false;
}
});
return position;
}
const position = getLanguageCodeIndexPosition();
console.log(position);
Run Code Online (Sandbox Code Playgroud) 我在降价文件中有以下前端问题。
---
title: "Hello world!"
excerpt: "Lorem ipsum dolor sit amet"
coverImage: "/assets/blog/hello-world/cover.png"
date: "2020-03-16T05:35:07.322Z"
author:
name: Mario
picture: "/assets/blog/authors/mario.png"
ogImage:
url: "/assets/blog/hello-world/cover.png"
---
Run Code Online (Sandbox Code Playgroud)
我需要将图像的完整 url 传递给 twitter card metatwitter: image和 open graph metaproperty = "og: image"
为此,我需要获取站点的基本 url 以将其用作我通过前端获取的图像路径的前缀
<Head>
{/* Twitter */}
...
<meta name="twitter:image" content={data.ogImage.url} />
{/* Open Graph */}
...
<meta property="og:url" content={``} key="ogurl" />
<meta property="og:image" content={data.ogImage.url} key="ogimage" />
</Head>
Run Code Online (Sandbox Code Playgroud)
现在data.ogImage.url有这个值,/assets/blog/hello-world/cover.png但为了工作,我需要在这个输出前面加上站点基本 url
如何在nextjs中获取网站的基本网址?
你能帮我理解为什么这个setTimeout逻辑不起作用
任务很简单,当用户点击按钮时,将执行复制输入文本的功能,然后将打印一条消息,说明副本成功,然后等待一秒钟并隐藏消息.最后一部分不起作用.
我分享了一个堆栈代码段
(function() {
const copyText = document.querySelector('#email');
const copyButton = document.querySelector('#copy');
const messageBox = document.querySelector('#message');
function copy() {
copyText.select();
document.execCommand('Copy');
displayMessage();
}
function displayMessage() {
messageBox.innerHTML = 'Email copied';
clearMessage();
}
function clearMessage() {
const timeoutID = window.setTimeout(() => {
messageBox.innerHTML = '';
}, 1000);
window.clearTimeout(timeoutID);
}
copyButton.addEventListener('click', copy);
})();Run Code Online (Sandbox Code Playgroud)
<input type="text" id="email" value="some.user@domain.com">
<button id="copy">Copy</button>
<span id="message"></span>Run Code Online (Sandbox Code Playgroud)
谢谢你的时间