小编use*_*274的帖子

如何定义片段占位符的默认值?

创建片段时,我想知道如果没有分配值,是否可以为占位符定义默认值。

例如,有这个 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

谢谢你的帮助。

code-snippets visual-studio-code vscode-snippets

2
推荐指数
1
解决办法
1905
查看次数

下载以 base64 编码的文件时,pdf 文件已损坏

我尝试下载以前使用 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)

然后,在我想下载文件的视图中,我意识到我评论的逻辑

javascript mysql

2
推荐指数
1
解决办法
1488
查看次数

关于如何避免使用临时变量的建议

getLanguageCodeIndexPosition函数在url的令牌中找到语言代码的位置,我想避免使用临时position变量,这也许是一种更具功能性的解决方案。

我不知道该语言标记是否为enes,所以我寻找是否找到一个返回其位置的标记

我欢迎你的建议

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)

javascript

2
推荐指数
1
解决办法
56
查看次数

如何获取 twitter:image 元标记的站点的基本 URL?

我在降价文件中有以下前端问题。

---
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中获取网站的基本网址?

javascript reactjs next.js

1
推荐指数
1
解决办法
1707
查看次数

不调用setTimeout逻辑

你能帮我理解为什么这个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)

谢谢你的时间

javascript

0
推荐指数
1
解决办法
74
查看次数