小编Mac*_*c_W的帖子

BehaviorSubject 订阅者多次获得相同的 next() 元素

我正在使用一个使用BehaviorSubject的 shareDataService,如下所示。我的问题是,每次我调用服务的next()方法时,任何其他组件中的侦听器订阅都会被多次调用,看起来它多次收到相同的消息。这是预期的行为吗?如何预防?

该服务是一个单身人士。我不会多次调用changeMes​​sage

@Injectable()
export class ShareDataService {

    messageSource = new BehaviorSubject(someData);
    currentMessage: Observable = this.messageSource.asObservable();
    changeMessage(message) {
        this.messageSource.next(message);
    }

}
Run Code Online (Sandbox Code Playgroud)

组件中的订阅

ngDoCheck() {
    this.shareDataService.currentMessage
        .pipe(takeUntil(this.ngUnsubscribe))
        .subscribe((message) => {
            //Do stuff
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

subscribe rxjs behaviorsubject angular

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

Xamarin Android - 隐藏文本视图

我的问题如下 - 我使用切换按钮来隐藏/取消隐藏TextView.我得到的是隐藏的空地.

我想要的是'重绘'/'重新加载'布局,而不是隐藏TextView它被删除或添加到它 - 没有在我的布局中间的这个空占位符.

我来自科尔多瓦,之前正在使用Angular.任何帮助???

_addressManual = FindViewById<EditText> (Resource.Id.addressManual);

_addressHomeManualToogle.Click += (o, e) => {
    if (_addressHomeManualToogle.Checked)
        _addressManual.Visibility = Android.Views.ViewStates.Visible;
    else
        _addressManual.Visibility = Android.Views.ViewStates.Invisible;
};
Run Code Online (Sandbox Code Playgroud)

c# xaml android xamarin.android xamarin

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

如何在c#中检查json数组是否为空?

我正在调用 Google Maps 并使用 System.JSON 来解析对象。我使用以下方法抓取我的对象:

double placeLat = json["results"][0]["geometry"]["location"]["lat"];
Run Code Online (Sandbox Code Playgroud)

然后我想检查第三个对象是否存在,如果是,则执行一些操作,但显然以下操作失败。我知道谷歌地图在这种情况下返回 2 个对象,我想检查第三个对象以避免对 null 执行操作并进一步传递它们。当谷歌地图返回 3 个对象时,以下工作正常,所以我相信我的条件是错误的。

if (json["results"][2] != null) {

        }
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

指数超出范围。必须是非负的并且小于集合的大小。参数名称:索引

关于如何在使用 System.JSON 的情况下正确构建 if 语句的任何想法?

c# json google-maps if-statement system.json

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

ReferenceError:Svelte 3中未定义文档

我想在<script>手动document.createElement,然后到appendChildaudio一个每次eventListener被调用来取代它。一切都能在浏览器中正常运作,除了加载页面时发生的真正快速错误外,持续时间不到100ms。终端中也有错误

ReferenceError: document is not defined
    at Object (webpack:///./src/components/Record/Component.svelte?:26:17)
Run Code Online (Sandbox Code Playgroud)

似乎在文档还没有准备好但后来还可以的时候调用了上面的方法,该如何解决?或者在Svelte world(Sapper)中销毁和重新创建组件的首选方法是什么?

svelte

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

循环/遍历一个对象数组返回和字符串数组 - Javascript

我有一个像这样的对象数组:

[{"key":"aaa","value":true},{"key":"bbb","value":false},{"key":"ccc","value":true}]
Run Code Online (Sandbox Code Playgroud)

我如何迭代它来获得一个数组?

["aaa", "bbb", "ccc"]
Run Code Online (Sandbox Code Playgroud)

我正在使用node.js,这是代码.当我循环它时,我只返回第一个"aaa",我想得到一个变量是 3个对象的数组

router.get('/', function(req, res, next) {
    db.executeSql("SELECT this FROM that", function (data, err) {
        if (err) {       
            res.json(err);
        } 
        else {
            for (var i in data) {
                    for (var i=0; i < data.length; i++) {
                        var obj = data[i];
                        for (var property in obj) {
                            var a = (obj[property]);
                                res.json(a);
                                }
                    }
                }
            }   
        }   
        res.end();
    });
  });
Run Code Online (Sandbox Code Playgroud)

如果你可以指出我正确的方向或给我一些例子,谢谢!

javascript arrays loops node.js

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