小编Rao*_*old的帖子

Sapper - 受保护的路线(路线守卫)

我的问题很简单。您如何防止(例如非授权用户)在 sapper 中输入特定路线?

用户.svelte

<script>
    import { onMount } from 'svelte';

    onMount(() => {
      if(!authenticated)
        window.history.back()
      });
</script>
Run Code Online (Sandbox Code Playgroud)

在挂载到 DOM 之前是否有任何选项可以运行一些代码?

您如何解决此类问题?

谢谢你。

routing svelte sapper

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

RxJS-仅订阅一次,但不完成Observable

设想一下其中Observable包含实时变化数据的情况,下面的示例...

interface User {
   name: string;
   projectId: string;
   dataThatChangesALotInRealTime: Object;
}

userData: Observable<User>
Run Code Online (Sandbox Code Playgroud)

userData可观察值用于组件中以显示一些实时更改的数据。例如

<p>
{{ (userData | async)?.dataThatChangesALotInRealTime }}
</p>
Run Code Online (Sandbox Code Playgroud)

现在我想根据userData可观察到的当前数据向数据库中插入一些数据。这是功能

addToDatabase() {
  let sub = this.userData.subscribe(data => {
     this.exampleDatabase.doc(`test/${data.dataThatChangesALotInRealTime.id}`)
          .add({ test: 'hello'})
     sub.unsubscribe() // <- This
  })
}
Run Code Online (Sandbox Code Playgroud)

这是取消订阅内部预订以避免多次插入数据库的正确解决方案吗?有其他/更好的方法可以做到这一点吗?

这只是一个简单的示例,如果您有任何问题或我的解释不力,请在评论中让我知道,我将更新我的问题。谢谢

subscription unsubscribe observable rxjs angular

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

CouchDB - 同步是否将数据库复制到所有用户?

我在互联网上寻找有关Pouchdb的各种信息,我喜欢将远程数据库与本地浏览器数据库同步的想法.我想到的第一个问题是它是否在每个设备上存储整个数据库并在每个设备上创建副本?想象一下,我正在创建一个聊天应用程序,所有通信都将使用此应用程序存储在所有设备上.然后,一个用户可以查看其他人的对话.我查看了Pouchdb文档,发现了过滤复制.任何人都可以解释这种同步是如何工作的,以及是否可以仅将数据同步到特定用户?

例:

这是一个远程数据库,例如在云中,保存所有信息.

远程数据库:

/ user/secret informations /

/ Joe /"秘密信息"/
/丹/"秘密信息"/

在这里,我想仅为特定用户同步数据.不要同步整个数据库,只能同步用户特定的数据.

乔的装置

/ user/secret informations /

/ Joe /"秘密信息"/

丹的装置

/ user/secret informations /

/丹/"秘密信息"/

我相信我解释了我的问题.谢谢你的回答.

database couchdb data-synchronization indexeddb pouchdb

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

CSS - 如何通过悬停另一个div来隐藏div

您好,我的一些 css 代码有问题。我创建了一个简单的 jsfiddle,所以我希望你能理解我的问题。

例子:

jsfiddle.net

<div id="main">
    <div id="one">
       <p>Hover to hide div below</p>
    </div>
      <div id="two">
       <p>hide me please</p>
    </div>
</div>
<div id="main">
    <div id="one">
       <p>Hover to hide div below (this works)</p>
       <div id="two">
       <p>hide me please</p>
    </div>
    </div>

</div>
Run Code Online (Sandbox Code Playgroud)

CSS

#one{
  background-color:green;
  color:white;
  height:40px;
}
#two{
  background-color:red;
  color:white;
  height:40px;
  display:in-line;
}
/* Help please */
#one:hover > #two {
    display:none;
}
#main #one:hover > #main #two {
  display:none;
}
Run Code Online (Sandbox Code Playgroud)

谢谢你,如果有人可以编辑我的帖子并制作一个更好的标题,我将不胜感激。我的英语很弱。

css

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

TS - 回调中未定义类方法

我认为这段代码抵得上一千个字。以这个例子为例

class Cat {

 constructor() {
  this.meow("roar", this.sound)
 }

 meow(a, callback) {
  callback(a)
 }

 sound(a) {
  console.log(a)
  console.log(this.sayMeow) <----- THIS IS UNDEFINED
 }

 sayMeow() {
  return "Meow"
 }
}
Run Code Online (Sandbox Code Playgroud)

如您所见,方法sayMeow()未定义。您能解释一下原因以及如何解决吗?

这只是我必须使用回调的更复杂代码的简化表示。我需要知道为什么方法在回调函数中未定义。请不要对这个简单的 Cat 类进行修改。

谢谢

scope class callback typescript

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

Mongoose - 多个数据库连接

我想了解如何在 mongoose 全局承诺连接中的数据库之间切换。

我当前的连接是这样建立的 app.ts

import * as mongoose from 'mongoose';

...

try {
    await mongoose.createConnection(`mongodb://localhost:27017/db1`, {
        useNewUrlParser: true,
    })
    console.log("Connected")
} catch (error) {
    console.log(error)
}
Run Code Online (Sandbox Code Playgroud)

然后我在不同的文件中访问它 some.model.ts

import { Schema, Document, model } from 'mongoose';

const SomeSchema: Schema = new Schema({
  name: { type: String, required: true },
  owner: { type: string, required: true }
});
export default model('Some', SomeSchema);
Run Code Online (Sandbox Code Playgroud)

根据文档。

到目前为止,我们已经看到了如何使用 Mongoose 的默认连接连接到 MongoDB。有时我们可能需要向 Mongo 打开多个连接,每个连接都有不同的读/写设置,或者可能只是例如不同的数据库。在这些情况下,我们可以使用 mongoose.createConnection() 它接受已经讨论过的所有参数并为您返回一个新的连接。 const conn = mongoose.createConnection('mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]', options);

我可以像这样创建多个数据库连接

try {
const …
Run Code Online (Sandbox Code Playgroud)

mongoose mongodb node.js typescript

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

使用jquery检查url参数是否存在

我在Stack看到了一些类似的帖子,但是我想在jquery中询问具体的功能

$.urlParam('GETparameter')

为什么简单 if($.urlParam('GETparameter') === undefined) 不工作?为什么在其他问题上有复杂的答案?

谢谢你的回答,请你有人编辑我的帖子吗?我的英语水平很低.

jquery

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

如何从控制器或其他组件/服务访问 websocket?

我有一个 REST API,我想通过 websocket 向客户端发送事件。如何在控制器或其他组件中注入 websocket 实例?

socket.io nestjs nestjs-gateways

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