小编Dav*_*lsh的帖子

添加eventListener以模糊自定义组件上的事件?

我有一个名为的组件styled-input,它是带有样式,图标,验证等的输入。

我试图addEventListener在自定义指令中使用以侦听事件并使事情发生。

<styled-input
    v-model=""
    v-on:input=""
    v-on:blur=""
></styled-input>
Run Code Online (Sandbox Code Playgroud)

内部: value是一个道具(允许在v-model外部绑定)

<template>
    <div>
        <input 
            v-bind:value="value"
            v-on:input="$emit('input', $event.target.value)"
            v-on:blur="$emit('blur', $event.target.value)"
        />
    </div>
</template>
Run Code Online (Sandbox Code Playgroud)

我正在尝试addEventListener通过自定义指令对标签进行自定义验证。

<styled-input
    v-model=""
    v-custom-validator:credit-card
></styled-input>
Run Code Online (Sandbox Code Playgroud)

在指令内部,我addEventListener用于侦听来自输入字段的事件。

Vue.directive('custom-validator', {
    bind: function(el, binding) {
        el.addEventListener('blur', (event) => {
            // Does not fire
        });

        el.addEventListener('input', (event) => {
            /// Fires
        });
    },
});
Run Code Online (Sandbox Code Playgroud)

为什么在输入事件触发时不触发模糊事件?

如何使模糊事件触发?

javascript vue.js vue-component vuejs2

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

无法在 Cloudfront 层上的 Lambda + API Gateway + Cloudfront 上启用 CORS

我部署了一个 lambda,它本身'Access-Control-Allow-Origin': '*'在其响应中返回一个标头。

我从 API 网关调用它。调用API网关URL时,CORS配置即可。

我将 CloudFront 放在 API 前面,但是现在我无法访问 API,因为 CORS 配置似乎被 CloudFront 覆盖,并且我不确定在 CloudFront 中的何处添加自定义标头。

如何在 CloudFront 中启用 CORS?

amazon-web-services amazon-cloudfront aws-lambda aws-api-gateway

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

附加到Web组件内的阴影后,使用JS创建的模板标签不会出现

我希望以下代码创建一个元素,其中包含一个div带有文本“ Hi” 的元素。

该元素出现在检查器中,但屏幕上看不到任何文本。

当我将模板从a更改template为a时,div将显示文本。我在这里做错了什么?

class MyComponent extends HTMLElement {
    constructor() {
        super()

        const shadowRoot = this.attachShadow({ mode: 'open' })
        const template = document.createElement('template')
        const div = document.createElement('div')

        div.innerHTML = 'Hi'
        template.appendChild(div)

        shadowRoot.appendChild(template.content)
    }
}
customElements.define('my-component', MyComponent)
Run Code Online (Sandbox Code Playgroud)

javascript web-component shadow-dom html5-template

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

如果有新版本,如何强制 SPA 客户端进行硬刷新?

我有一个单页应用程序,需要客户端使用最新版本。缓存是积极的,因此等待它们失效是不可行的。

有没有一种方法可以告诉客户端查看某个资源(比如 build.txt),如果该资源包含的内部版本号大于当前加载的版本号,则使缓存无效并刷新?

javascript single-page-application progressive-web-apps

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

使用 Amazon S3 SignedURL 从浏览器客户端 PUT 文件是否安全?

我的后端是一个 nodejs 应用程序,我希望用户将图像上传到 Amazon S3 存储桶。

从我的服务器运行:

const s3 = new AWS.S3({
  params: {
    Bucket: bucket
  }
});

app.get('/api/images/signed-url', authMiddleware, (req, res) => {
  s3.getSignedUrl('putObject', 
    { ContentType: 'image/jpeg', Key: uuid() + '.jpeg' }, 
    (_err, url) => res.send({ signedUrl })
})
Run Code Online (Sandbox Code Playgroud)

然后从我的浏览器客户端上传到该端点

该网址如下所示:

https://my-s3-bucket.s3.ap-southeast-2.amazonaws.com/0050db00-c64c-419a-83c2-e8615120f458.jpeg?AWSAccessKeyId=MY_ACCESS_KEY&Content-Type=image%2Fjpeg&Expires=1625365030&Signature=1ebnshTgeMKoLMAH%2Bi2FLletsAU%3D
Run Code Online (Sandbox Code Playgroud)

鉴于此 URL 包含 my MY_ACCESS_KEY_ID,与客户共享是否安全?我不分享我的秘密(显然),但它是等式的一半。

amazon-s3 amazon-web-services pre-signed-url

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

如何改变回调中的值?

对于这个基本问题真的很抱歉。

我正在尝试模拟 Web 服务器调用之类的东西并从外部范围捕获变量。

fn http_get(path: &str, f: &dyn Fn()) {
  f();
}


fn main() {
  let mut counter = 0;

  http_get("/foo", &|| {
    counter = counter + 1;
    println!("/foo: {}", counter);
  });
  
  http_get("/bar", &|| {
    counter = counter + 1;
    println!("/bar: {}", counter);
  });
}
Run Code Online (Sandbox Code Playgroud)

这会导致编译器错误cannot assign to 'counter', as it is a captured variable in a 'Fn' closure

我知道我在一些基本的地方失败了,我有机会朝正确的方向推动吗?

rust

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

您可以将值从 Arc&lt;Mutex&lt;Vec&gt;&gt; 移动到 &amp;mut Vec 而无需传输它们吗?

是否可以将项目从 an Arc<Mutex<T>>T是 aVec或 a HashMap,但我猜是任何类型)移动到 an ,&mut T而无需通过在类型之间排出/添加项目来转移项目的计算成本?

例如:

fn main() {
  let mut items = Vec::<usize>::new();
  
  {
    let mut items_ref = &mut items;
    let mut items_protec = Arc::new(Mutex::new(Vec::<usize>::new()));

    {
      // do stuff to items_protec
    }

    // Move items to ref
    // Does the compiler optimize this away?
    let mut items_unprotec = items_protec.lock().unwrap();
    while let Some(item) in items_unprotec.pop() {
      items_ref.push(item);
    }
  }

  for item in &items {
    println!("{}", item);
  }
} …
Run Code Online (Sandbox Code Playgroud)

rust

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

如何在 go 中使用枚举?

golang 中是否有简单的枚举实现?像下面这样的?

type status enum[string] {
    pending = "PENDING"
    active = "ACTIVE"
}
Run Code Online (Sandbox Code Playgroud)

go

0
推荐指数
2
解决办法
2万
查看次数