小编Zoh*_*oha的帖子

vue - $emit 与更新父数据的引用

我们需要使用它$emit来更新 vue 组件中的父数据。这是到处都在说的,甚至是 vue 文档。

v-model两者.sync都用于$emit更新,所以我们$emit在这里计算它们

我所涉及的是使用reference类型传递更新父数据

如果我们将一个对象或数组作为 prop 发送到子组件并在子组件中更改它,则将直接对父数据进行更改。

有些组件我们总是在特定组件中使用,而不会在其他任何地方使用它们。事实上,这些组件主要是为了让app代码更具可读性,减轻app的组件负担。

将引用类型值作为 prop 传递给子级以直接从子级更改它们比传递值然后处理发出的事件要容易得多。特别是当有更多嵌套组件时

当我们使用引用类型来更新父级时,代码的可读性会变得更加容易。

例如,假设我们有grand-parentparentchild组件。在parent组件中,我们有一个更改first祖父母数据属性的字段,在子组件中,我们有另一个更改second祖父母数据属性的字段

如果我们想使用$emit以下方法来实现这一点:(我们不使用 .sync 或 v-model)

// grand-parent

<template>
    <div>
        <parent :fields="fields" @updateFields="fields = $event" >
    </div>
</template>

<script>
import parent from "./parent"
export default {
    components : {parent},
    data(){
        return {
            fields : {
                first : 'first-value',
                second : 'second-value', …
Run Code Online (Sandbox Code Playgroud)

javascript vue.js

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

保护来自应用程序外调用的 api 数据

考虑我们有一个 api 端点(例如:REST)和一个 react web 应用程序来连接它

这就是我为认证和授权所做的

当用户发送登录请求时,我为该用户创建一个令牌(例如:JWT),然后用户可以使用该令牌发送查询或变异请求

在此处输入图片说明

为此,我将令牌保存在 localStorage 或 cookie 中,用户自己可以看到它

对于一个简单的应用程序,它可以,但是?如果我想让用户甚至无法使用此令牌,并且令牌仅在我的 React 应用程序(我的网站)中工作,该怎么办?

例如,如果 john doe 访问了一个网站,并且该网站为他创建了一个令牌,他可以复制此令牌并在第三方应用程序中使用它或创建一个机器人来调用该网站的 API

我想创建一个 api,即使它的用户也不能使用我的应用程序前端的令牌来调用 api

一些应用程序正在这样做,但我不知道如何,例如电报或推特或...

他们从服务器返回的数据是加密的

但是如果我们可以访问他们的网络应用程序的源代码,那么我们应该能够找到他们的加密令牌或方法,但我们不能这样做(我猜),我不知道他们是如何防止这种情况发生的

我读过 RSA,但如果我们在前端保留公钥,这不会有任何区别(对吧?)

那么有什么方法可以做到这一点?(防止调用特定 Web 应用程序的安全 API)

security api rest token jwt

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

标签 统计

api ×1

javascript ×1

jwt ×1

rest ×1

security ×1

token ×1

vue.js ×1