小编Vam*_*shi的帖子

do(tap)vs subscribe

编辑:在RxJs 6之前,tap被称为do.更新的标题也反映了点击.

我想了解Observables 的使用.subscribe.do方法的最佳实践.

例如,如果我需要在从服务器加载初始数据后做一些工作

const init$: Observable<MyData> = this._dataService.getData();

init$
  .do((initialData: MyData) => {
    this.data = initialData; // at this step I am initializing the view
  })
  .switchMap(() => loadExtraData)
  .subscribe((extraData) => {
     doSomething(extraData, this._data); // I need this._data here
  }); 
Run Code Online (Sandbox Code Playgroud)

我可以这样做 .subscribe

const init$: Observable<MyData> = this._dataService.getData()
  .shareReplay(1);

init$
  .subscribe((initialData: MyData) => {
    this.data = initialData; // at this step I am initializing the view
  })

init$
  .combineLatest(loadExtraData)
  .subscribe(([initialData, extraData]) …
Run Code Online (Sandbox Code Playgroud)

javascript rxjs angular

15
推荐指数
2
解决办法
6486
查看次数

鼠标悬停在多个标记leaflet.js上?

所以我有一张传单地图,上面放着很多标记.我希望在标记上的"悬停"上有一个像资产等状态的弹出窗口.我在谷歌上看到了一些例子并尝试实现,但没有一个是触发任何事件.这是我尝试的代码.我怎样才能实现这个功能?我是否必须使用某种工具提示而不是弹出窗口?

  buildMarkerLayer = (rawAssetsObjects) => {
    let markersGroup = null;
    var self = this;

    markersGroup = L.markerClusterGroup({
        spiderfyOnMaxZoom: true,
        showCoverageOnHover: true,
        zoomToBoundsOnClick: true,
        spiderfyDistanceMultiplier: 2
    });

      self.$localForage.getItem('showAllAreas').then((_showAll) => {
        if(_showAll){
            this.loadAllAreas();
        }else{
            this.hideAllAreas();
        }

    });



    angular.forEach(rawAssetsObjects, function(_asset) {

        if(_asset.latitude && _asset.longitude){
            markersGroup.addLayer(L.marker(L.latLng(_asset.latitude,
            _asset.longitude), {
            id: _asset.id,
            icon: L.divIcon({
                html: self.siMarkers.createHTMLMarker(_asset)
            })
            }).on('click', function(e) {
                //dismiss the event timeline 
                self.$mdSidenav('right').close();

                self.centerOnClick(_asset);
                //set the selected asset to a shared service for availability in
                //other controllers
                self.siMapRam.setActive(_asset);
                //inform detail controller of a newly …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs leaflet angular-leaflet-directive

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

角度2 NgbModal NgbActiveModal关闭事件模态

我正在使用Angular 2,我正在使用表单模式,我有两个组件,从一个组件我以这种方式打开表单模式:

import { Component, OnInit, Output} from '@angular/core';
import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
import { MyFormComponent } from '......./....';


@Component({
    moduleId: module.id,
    selector: 'my-component',
    templateUrl: 'my-component.html'
})
export class MyComponent implements OnInit {

    private anyData: any;
    private anyDataForm: any;


    constructor(
        private modalService: NgbModal
    ) { }

    ngOnInit(): void {
    }

    open() {
        const modalRef = this.modalService.open(MyFormComponent, { size: 'lg' });
        modalRef.componentInstance.anyDataForm = this.anyData;
    }

    possibleOnCloseEvet() { 
        //Do some actions....
    }

}
Run Code Online (Sandbox Code Playgroud)

open()方法从my-component.html上的按钮触发

在Form组件(模态组件)上,我使用它来关闭实际模态(从它本身)

import { Component, …
Run Code Online (Sandbox Code Playgroud)

ng-bootstrap angular

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

基于Web的开源Java编译器

我想创建一个基于Web的java教程类项目,涉及jquery,css,jsp,spring等,所以我实际上想要实践这些技术产生一个好的产品.本教程的内容可以由任何用户编辑,并由客户根据章节等进行评级,我几乎没有这样的想法.

一个主要的想法是拥有一个基于Web的编译器和执行器.与w3schools相似.我知道在浏览器上编译服务器端技术很困难.

我的问题是:

  1. 有没有可用的开源java编译器/执行器服务?

  2. 是否有兴趣参与此类项目(如果没有)?

编辑:我打算在java和Beanshell中使用Compiler.更好的解决方案?

java compiler-construction

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

使用jQuery选择ID为句点的元素?

我有一个带点('.')的id.我无法使用jQuery选择它.

例如:

 <p id="sec.ond">this is another  paragraph</p>
Run Code Online (Sandbox Code Playgroud)

如何使用这样的id来选择这个元素?

当我使用带有数组的spring表单时,我得到了这样的id,例如:

<form:input path="abc[0].firstName" />
Run Code Online (Sandbox Code Playgroud)

这将导致:

<form:input id="abc0.firstName" name="abc[0].firstName" />
Run Code Online (Sandbox Code Playgroud)

在此先感谢您的帮助.

html jquery spring-mvc

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

使用html5保留文件引用

我试图从本地文件系统播放媒体文件.用户现在通过"输入"选择一个文件并播放它.我希望保留该文件参考,以便当用户下次访问时,我应该能够告诉他/她在等等之前播放了多少次,

我应该从服务器下载文件引用或将其存储在本地..任何想法如何执行此操作?

javascript html5 filereader

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

如何在angular2 html中获取div相对于窗口的位置?

我有以下几点:

我希望能够获得 div1 相对于整个文档的位置。(它嵌套在“页面中间部分”中)。我如何在角度上做到这一点?我有:

@ViewChild('div1') div1;

虽然 div1.offsetTop 似乎是 0 ...

angular

5
推荐指数
0
解决办法
2511
查看次数

Angular 2 ng-content从子组件接收事件

我正在构建一个包含多个动态面板的页面,每个子面板都具有相同的HTML,因此我创建了一个父面板组件来包装每个面板组件.

问题是我想从孩子向小组发送一个事件,但我似乎无法找到答案.这是我到目前为止所拥有的:

// Panel Panel Component
@Component({
    selector: 'panel',
    template: `
    <div (emittedEvent)="func($event)">
        <ng-content></ng-content>
    </div>
    `
})
export class PanelComponent {

    constructor() {}

    func(event) {
    // Do stuff with the event
    }
}
// Child Panel Component (one of many)
@Component({
selector: 'child-panel-one',
template: `
    // Template stuff
    <button (click)="emitEvent()">Click</button>
`
})
export class ChildPanelOne {
emittedValue: Boolean = false;

@Output() emittedEvent = new EventEmitter();

constructor() {}

private emitEvent() {
    this.emittedValue = true;

    this.emittedEvent.emit(this.emittedValue)
}
}
//
// Main Parent …
Run Code Online (Sandbox Code Playgroud)

angular2-ngcontent angular

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

反转 angular2 中的复选框值

在 Angular 2 中反转复选框值时遇到一些麻烦。

在 Angular 1.x 中,我们可以创建如下所示的指令。

.directive('invertValue', function() {
  return {
    require: 'ngModel',
    link: function(scope, element, attrs, ngModel) {
      ngModel.$parsers.unshift(function(val) { return !val; });
      ngModel.$formatters.unshift(function(val) { return !val; });
    }
  };
})
Run Code Online (Sandbox Code Playgroud)

javascript checkbox angular

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

angular 2如何对列ng进行求和

试图理解如何从表中总结列,每个都添加*ngFor(像todo-list),我想总结一列,如何在角2中做到这一点?所以我有这样的表:

<tr *ngFor="let item of items">
    <td>{{item.num1 }}</td>
    <td>{{item.num2}}</td>
    <td>{{item.num3}}</td>
    <td>{{item.num4}}</td>
    <td>{{item.num5}}</td>
</tr>
Run Code Online (Sandbox Code Playgroud)

我需要总结下面的所有列,如:

<tr *ngFor="let item of items">
     <td>{{item.num1 }}</td>
     <td>{{item.num2}}</td>
     <td>{{item.num3}}</td>
     <td>{{item.num4}}</td>
     <td>{{item.num5}}</td>
</tr>
<tr>
     <td>SUM1</td>
     <td>SUM2</td>
     <td>SUM3</td>
     <td>SUM4</td>
     <td>SUM5</td>
</tr>
Run Code Online (Sandbox Code Playgroud)

angular

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