点击"创建"按钮和"修改"按钮报错,这是怎么回事?

来源:3-9 改造股票管理应用

二农戏猪

2017-08-06

http://szimg.mukewang.com/5985ef320001e29603690034.jpg

http://szimg.mukewang.com/5985f03d00017e3609380034.jpg

http://szimg.mukewang.com/5985f03e0001601b08810027.jpg

http://szimg.mukewang.com/5985f04900015d7f04570240.jpg

http://szimg.mukewang.com/5985f0490001648f07790199.jpg


还有这一段代码:

constructor(public router: Router) {
 router.events//路由器里产生的所有事件
   .filter(event => event instanceof NavigationEnd)//过滤出导航结束时的事件
   .subscribe((event: NavigationEnd) => {//订阅所有的导航过滤事件,当导航结束事件发生时判断导航到的URL是什么,
     // 根据URL改变当前页面的pageTitle和pageDesc
     if (event.url == '/dashboard') {
       this.pageTitle = '这里是首页';
       this.pageDesc = '';
     } else if (event.url.startsWith('/stock')) {//a.startsWith(b)判断字符串a 是不是以字符串b开头。
       this.pageTitle = '股票信息管理';
       this.pageDesc = '进行股票基本信息增删查改';
     }
   });
}


其中:

下面这段代码router.events为什么直接接换行.filter然后又换行.subscribe了?这还是链式调用吗?

可以看成router.evets.filter(event => event instanceof NavigationEnd).subscribe( ){......}吗?


router.events

   .filter(event => event instanceof NavigationEnd)

   .subscribe(){......}


.filter(event => event instanceof NavigationEnd)里的滤波器括号里面的语句不太理解,event只是一个变量没有类型的吗?

写回答

1回答

JoJo

2017-08-07

第一个问题,你的路由配置import到模块中了么?RouterModule.forRoot(routeConfig, {useHash: true});第二个问题,换行只是为了看起来清楚一点,效果一样的,event有类型,但是类型声明不是不许的。可以不写。

0
0

Angular4.0从入门到实战 打造股票管理网站

Angular新特性,教你熟练使用 Angular 和 Typescript 开发组件式单页应用

2683 学习 · 1361 问题

查看课程