我正在尝试将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)
导入Ng2BootstrapModule到NgModule.
然后我添加了一些标签进行测试.
<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) 我们使用前端代码,例如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目录中的冲突,在这种情况下,我们这样做:
git checkout qa(在qa本地结账)git pull (确保它是最新的)git checkout wave2 (切换回波浪分支)git merge -s ours qa(qa使用我们的策略合并分支)git checkout qa(切换回qa)git merge wave2(合并wave2 …我有一个强制布局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如果用户只使用一次触摸就重新绑定它.
我正在使用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) 我有一个简单的 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) 我已经设置了一个等待另一部史诗完成的史诗,就像@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)