我正在用d3生成折线图.它工作,但打字稿代码抱怨在一个不存在的属性
类型'[number,number]'上不存在属性'x'
看着错误.看起来预期的数据点是一个带有两个数字的数组.
但我正在传递一个对象.D3应该支持我认为.
有谁知道如何摆脱这个错误而不改变我的数据?
我正在创建一个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
现在,默认情况下,我将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组件。
在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) 我有一个用户可以编写文档的应用程序。内容以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似乎都将重新加载。
关于如何避免这种情况的任何提示?
我想通过以下方式更新流星中的电子邮件地址:
Meteor.users.update(this._id, {$set: {"emails[0].address": "deleted_" + preEmail }});
Run Code Online (Sandbox Code Playgroud)
但是,而不是更新email数组,先添加0参数,然后添加address,然后创建一个新字段,例如emails [0]然后address。有趣的是,在另一个.js文件中它可以正常工作!