84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
做一个angular的路由的小例子,发现如果要设置路由,页面上如果已有controller控制器,则出现报错,删掉controller控制器之后,路由就正常,这两者有怎样的关系呢?不明白,坐等大神,谢谢解惑!ps:页面中的controller控制器有其他用处,此处为了代码简单,删掉了其中的内容。
报的错误为:
因为路由会有一个控制器,如果在html页面再绑定一个ng-controller的话,等于有两个,这会冲突的。最好将页面控制器的内容写在路由控制器里面。用了路由,就单独写控制器了。
推荐在路由中配置controller,你可以这样做
$stateProvider .state('main', { url: '/main', views: { 'main':{ templateUrl:'app/pages/main/listView/listView.html', controller:'listViewCtrl' } } })
这样就可以把templateUrl指定的模板和你定义的controller对应起来,名字相同就可以了。
另外如果在路由中设置了controller后,在模板中也设置了ng-controller,会出现一些问题,比较典型的就是如果这个页面进入时需要发起请求,你会发现它会重复发2次请求
题目中给出的错误信息是控制器main没有定义。
main
页面可以有多个控制器,控制器也可以嵌套,并且不会有什么冲突。
控制器可以写在页面中,也可以在路由中配置,并且不会有什么冲突。
因为路由会有一个控制器,如果在html页面再绑定一个ng-controller的话,等于有两个,这会冲突的。最好将页面控制器的内容写在路由控制器里面。用了路由,就单独写控制器了。
推荐在路由中配置controller,你可以这样做
这样就可以把templateUrl指定的模板和你定义的controller对应起来,名字相同就可以了。
另外如果在路由中设置了controller后,在模板中也设置了ng-controller,会出现一些问题,比较典型的就是如果这个页面进入时需要发起请求,你会发现它会重复发2次请求
题目中给出的错误信息是控制器
main
没有定义。页面可以有多个控制器,控制器也可以嵌套,并且不会有什么冲突。
控制器可以写在页面中,也可以在路由中配置,并且不会有什么冲突。