成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

angular.js - 網上都查不到,angularjs中,如果index.html中設置了控制器還能設置路由嗎?

瀏覽:141日期:2024-03-14 14:24:29

問題描述

做一個angular的路由的小例子,發現如果要設置路由,頁面上如果已有controller控制器angular.js - 網上都查不到,angularjs中,如果index.html中設置了控制器還能設置路由嗎?,則出現報錯,刪掉controller控制器之后,路由就正常,這兩者有怎樣的關系呢?不明白,坐等大神,謝謝解惑!ps:頁面中的controller控制器有其他用處,此處為了代碼簡單,刪掉了其中的內容。

報的錯誤為:angular.js - 網上都查不到,angularjs中,如果index.html中設置了控制器還能設置路由嗎?

問題解答

回答1:

因為路由會有一個控制器,如果在html頁面再綁定一個ng-controller的話,等于有兩個,這會沖突的。最好將頁面控制器的內容寫在路由控制器里面。用了路由,就單獨寫控制器了。

回答2:

推薦在路由中配置controller,你可以這樣做

$stateProvider .state(’main’, {url: ’/main’,views: { ’main’:{templateUrl:’app/pages/main/listView/listView.html’,controller:’listViewCtrl’ }} })

這樣就可以把templateUrl指定的模板和你定義的controller對應起來,名字相同就可以了。

另外如果在路由中設置了controller后,在模板中也設置了ng-controller,會出現一些問題,比較典型的就是如果這個頁面進入時需要發起請求,你會發現它會重復發2次請求

回答3:

題目中給出的錯誤信息是控制器main沒有定義。

頁面可以有多個控制器,控制器也可以嵌套,并且不會有什么沖突。

控制器可以寫在頁面中,也可以在路由中配置,并且不會有什么沖突。

標簽: HTML
相關文章: