小编Dan*_*isp的帖子

将ng2-bootstrap添加到angular2-seed时,'tab'不是已知的元素错误

我正在尝试将ng2-bootstrap添加到angular2-seed项目的新克隆中,但我不断收到以下错误(或类似):

Unhandled Promise rejection: Template parse errors: 'tab' is not a known element
Run Code Online (Sandbox Code Playgroud)

我按照这里的说明尝试了几种变化,但它只是不想工作.我让它在使用不同版本的angular2-seed的其他项目中工作,所以也许有些东西已经改变,但尚未在他们的wiki中记录.

我创建了一个证明我的问题的回购:https://github.com/danielcrisp/angular2-seed

正如我所说,它是angular2-seed的新克隆,具有以下变化:

$ npm install ng2-bootstrap --save

然后更新配置:

this.SYSTEM_CONFIG_DEV.paths['ng2-bootstrap'] =
  `${this.APP_BASE}node_modules/ng2-bootstrap/ng2-bootstrap.js`;

this.SYSTEM_BUILDER_CONFIG.packages['ng2-bootstrap'] = {
    main: 'ng2-bootstrap.js',
    defaultExtension : 'js'
};
Run Code Online (Sandbox Code Playgroud)

导入Ng2BootstrapModuleNgModule.

然后我添加了一些标签进行测试.

<tabset>
  <tab>1</tab>
  <tab>2</tab>
</tabset>
Run Code Online (Sandbox Code Playgroud)

如果我从HTML中删除选项卡,我没有错误.如果我尝试其他ng2-bootstrap组件,我也会遇到错误,例如

<button type="button" class="btn btn-primary" [(ngModel)]="singleModel" btnCheckbox btnCheckboxTrue="1" btnCheckboxFalse="0">`
Run Code Online (Sandbox Code Playgroud)

ng2-bootstrap angular

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

始终覆盖git部署分支

我们使用前端代码,例如HTML,CSS,JS等

我们qa在Github上有一个预览分支(),当推送到时,会自动将代码部署到预览网站,供我们的QA团队进行测试.

我们将代码编译/构建到dist目录中,并在预览网站上提供.当然,通常dist会忽略目录.

我们如何推动我们的开发分支并始终覆盖我们的预览分支?

我们希望忽略任何冲突,并始终使用我们正在推动的新代码.预览分支中的代码永远不会渗透到开发分支中.我们从未在预览分支中直接处理代码.

上下文

我们是一个规模虽小但地理位置分散的团队,我们正在开展大型前端项目,并有几个发布浪潮.没有生产因为我们的工作提供给管理与内部CMS系统集成等的其他团队.

master分支代表的最后一个版本.通常我们将按顺序工作,即工作wave1和发布master,工作wave2和发布master等.但是,有时我们需要wave1在我们工作时应用修补程序wave2.wave1需要临时部署修复程序以qa进行测试.

我们创建功能分支并使用Pull Requests将它们合并到当前波形分支中.

目前,我们使用此策略将当前wave部署到qa:

git push origin wave2:qa
Run Code Online (Sandbox Code Playgroud)

但是,这通常会导致dist目录中的冲突,在这种情况下,我们这样做:

  1. git checkout qa(在qa本地结账)
  2. git pull (确保它是最新的)
  3. git checkout wave2 (切换回波浪分支)
  4. git merge -s ours qa(qa使用我们的策略合并分支)
  5. git checkout qa(切换回qa)
  6. git merge wave2(合并wave2 …

git merge github repository

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

d3.behaviour.zoom在仅使用一根手指时禁用触摸屏上的平移

我有一个强制布局d3图表,我d3.behaviour.zoom用来启用缩放和平移.

这一切都很好但是因为我的图表在iPad上填满了屏幕,所以当我的触摸只是平移图表时,无法向下滚动页面.

我想在触摸设备上保持捏缩放行为.

是否可以在何时取消touchmove.zoom活动?d3.event.touches.length === 1

这只是禁用所有触摸交互 - 所以滚动很好,但我不能再缩放图表:

selection.call(zoom)
    .on('touchstart.zoom', null)
    .on('touchmove.zoom', null)
    .on('touchend.zoom', null);
Run Code Online (Sandbox Code Playgroud)

我也试过添加另一个touchmove监听器,如下所示:

selection.call(zoom)
    .on('touchmove', function () {
        if (d3.event.touches.length === 1) {
            d3.event.stopPropagation();
            // i've also tried d3.event.preventDefault() but it doesn't do anything         
        }
    });
Run Code Online (Sandbox Code Playgroud)

我不认为我可以touchmove在d3内访问默认的缩放监听器吗?我想知道我是否可以删除侦听器touchstart,然后touchend如果用户只使用一次触摸就重新绑定它.

javascript d3.js

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

取消Observable.create中的HTTP请求

我正在使用Angular 2 rc3.

我有一个服务,它返回一个rxjs Observable,其中有一些异步任务,然后是一个递归的HTTP请求.它是一个分块上传,因此在前一个块的成功处理程序中有多个顺序请求被触发.

我想知道在处理包含Observable时如何取消内部HTTP请求.

这基本上就是我正在做的事情(不是真正的代码):

// UploadService

upload (file) {
    return Observable.create((observer) => {

        let reader = new FileReader();

        // convert file into chunks
        let chunkedFile = this.chunkFile(file);

        reader.onloadend = (event) => {

            // THIS IS THE REQUEST I WANT TO CANCEL
            this.http.put('url/to/upload/to', chunkedFile.currentChunk)
                .subscribe((res) => {

                    // emit some data using containing observable, e.g. progress info
                    observer.next(res);

                    // trigger upload of next chunk
                    this.uploadFileInChunks(reader, chunkedFile, observer);

                });
        };

        // this triggers the onloadend handler above
        this.uploadFileInChunks(reader, chunkedFile, …
Run Code Online (Sandbox Code Playgroud)

rxjs angular

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

从 OSX Automator shell 脚本运行 Grunt

我有一个简单的 Gruntfile,希望能够从 OSX Dock 中的图标运行。

我创建了一个非常简单的 shell 脚本 (launcher.sh),我将它保存为一个应用程序,以便我可以将它添加到我的 Dock 中。当我直接在我的终端中运行它时效果很好:

#!/usr/bin/env bash
$(grunt serve --open)
Run Code Online (Sandbox Code Playgroud)

它也适用于这个shebang: #!/bin/bash

但是,当我从 Automator 工作流程调用 shell 脚本时,出现以下错误:

launcher.sh: line 2: grunt: command not found
Run Code Online (Sandbox Code Playgroud)

这是我的 Automator 设置:

在此处输入图片说明

我究竟做错了什么?


更新

如果我把它放在我的launcher.sh文件中:

#!/bin/bash
`/usr/local/bin/grunt serve --open`
Run Code Online (Sandbox Code Playgroud)

我在 Automator 中遇到了不同的错误: env: node: No such file or directory

但是,和以前一样,如果我直接在终端中运行脚本就好了 - 所以我认为 @mklement0 是正确的 PATH

更新 2

启动器.sh

#!/bin/bash
grunt serve --open
Run Code Online (Sandbox Code Playgroud)

自动机

PATH="/usr/local/bin:$PATH"
~/Public/Sites/launcher.sh
Run Code Online (Sandbox Code Playgroud)

现在我在 Automator 中运行它时仍然收到一个错误弹出窗口,但它没有详细信息 - 它只是说:

The action "Run Shell Script" encountered an …
Run Code Online (Sandbox Code Playgroud)

macos bash shell automator

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

链式 redux-observable 史诗只正确触发一次

我已经设置了一个等待另一部史诗完成的史诗,就像@jayphelps 在这里的回答一样:从其他史诗中调用史诗

但是我发现它似乎只运行一次。之后,我可以CART_CONFIG_READY在控制台中看到该操作,DO_THE_NEXT_THING但未触发该操作。

我尝试了mergeMap和的各种组合switchMap,有和没有,take但似乎没有任何帮助。

这是(某种)我的代码的样子。

import { NgRedux } from '@angular-redux/store';
import { Observable } from 'rxjs/Observable';
import { ActionsObservable } from 'redux-observable';

export class CartEpicsService {

checkCart = (action$: ActionsObservable<any>, store: NgRedux<any>) => {

    return action$.ofType('CHECK_CART')
        .switchMap(() => {

            console.log('___LISTENING___');

            return action$.ofType('CART_CONFIG_READY')
                .take(1) // removing this doesn't help
                .mergeMap(() => {

                    console.log('___RECEIVED___');

                    // do stuff here

                    return Observable.of({
                        type: 'DO_THE_NEXT_THING'
                    });

                })
                .startWith({
                    type: 'GET_CART_CONFIG'
                });

        });

} …
Run Code Online (Sandbox Code Playgroud)

rxjs rxjs5 redux-observable

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