小编Ami*_*mar的帖子

Angular 2 typescript d3类型问题:'[number,number]'类型中不存在属性'x'

我正在用d3生成折线图.它工作,但打字稿代码抱怨在一个不存在的属性

类型'[number,number]'上不存在属性'x'

在此输入图像描述

看着错误.看起来预期的数据点是一个带有两个数字的数组.

但我正在传递一个对象.D3应该支持我认为.

有谁知道如何摆脱这个错误而不改变我的数据?

d3.js typescript angular

11
推荐指数
2
解决办法
5730
查看次数

如何根据Angular 2中的条件重定向到特定路线。

我正在创建一个angular2-meteor应用程序。

export const routes: Route[] = [{
    path: '',
    redirectTo: "login",
    pathMatch: "full"
}, 
{
    path: 'login',
    component: LoginComponent
}, 
{
    path: 'csvtemplate',
    component: TemplateComponent,
    canActivate: ['canActivateForLoggedIn'],
    children: [{
        path: '',
        redirectTo: 'dashboard' <----how to add condition for multiple path
    }, 
    {
        path:'dashboard',
        component: DashboardComponent
    },
    {
        path: 'csvtimeline/:month/:year',
        component: CsvTimelineComponent
    }, {
        path: 'csvjson',
        component: CsvJsonComponent
    }]
}];
Run Code Online (Sandbox Code Playgroud)

当我使用LoginComponent登录到我的应用程序时,它将转到具有三个子组件的TemplateComponent

  • 仪表板
  • csv时间轴
  • csvjson

现在,默认情况下,我将redirectTo设置为我的仪表板组件。但是我想根据登录用户配置文件重定向到csvjson组件或csvtimeline组件,以代替此重定向。

假设

如果登录用户是“管理员”,则应将其重定向到->仪表板组件

如果登录用户是“来宾”,则应该将其重定向到-> csvjson组件

我知道我们可以在仪表板组件的ngOnInit()中进行重定向。

if (this.user && this.user.profile.role == 'Guest') {
             this._router.navigate(['csvtemplate/csvjson']);
        }
Run Code Online (Sandbox Code Playgroud)

但是我正在寻找更好的选择,因此我不必每次都打开仪表板组件,它将直接转到csvjson组件。

angular2-routing angular2-meteor angular

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

如何在Angular 2中的命名出口中强制设置路径参数

router-outler我们做的事情中强制设置路线参数:

this.router.navigate(['/hero', hero.id]);
Run Code Online (Sandbox Code Playgroud)

如何在命名出口中强制设置路由参数?

this.router.navigate([{ outlets:{modal: 'modal/user'} }]);
Run Code Online (Sandbox Code Playgroud)

现在我连接字符串以设置路由参数:

this.router.navigate([{ outlets: {modal: 'modal/user' + '/' + 'this.id'} }]);
Run Code Online (Sandbox Code Playgroud)

angular2-routing angular

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

Angular-DomSanitizer安全绕过-innerHTML样式奇怪的重新加载效果

我有一个用户可以编写文档的应用程序。内容以html格式交付,并且其中可能包含“未保存的内容”。例如,带有youtube视频的iframe

我这样输出

<div [innerHtml]="getDocumentContentTrusted()"></div>
Run Code Online (Sandbox Code Playgroud)

成分法

getMainContentTrusted(){
    return this.domSanitizer.bypassSecurityTrustHtml(this.documentContent);
}
Run Code Online (Sandbox Code Playgroud)

这样的作品。一切都可以正确显示,但是例如youtube-iframe就是documentContent的一部分,那么我就有副作用。在应用程序中任何位置的任何单击上,documentContent似乎都将重新加载

关于如何避免这种情况的任何提示?

angular

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

更新流星中的用户电子邮件地址

我想通过以下方式更新流星中的电子邮件地址:

Meteor.users.update(this._id, {$set: {"emails[0].address": "deleted_" + preEmail }});
Run Code Online (Sandbox Code Playgroud)

但是,而不是更新email数组,先添加0参数,然后添加address,然后创建一个新字段,例如emails [0]然后address。有趣的是,在另一个.js文件中它可以正常工作!

meteor angular2-meteor

3
推荐指数
2
解决办法
1484
查看次数