Notice that the view names is now specified as absolute names, as opposed to the relative name. It is targeting of the ' filters ', ' tabledata ', and ' graph ' views located in the root unnamed template. Since it ' s unnamed, there is nothing following the ' @ '. The root unnamed template is your index.html.
. State ("Report", {views: {' [email protected] ': {}, ' [email protected] ': {}, ' [email protected] ': {} } })
No name after @, default index.html (Portal page) is template file
Examples are as follows: Http://plnkr.co/edit/ujgXbPJXQ3E13F9aFPBc?p=preview
In the example
.state (' Route2 ', { url: "/route2", views: { ' [email protected] ': { templateUrl: " Route2.html ", controller: function ($scope) { Alert ("BBBB"); } }, ' [email protected] ': { templateUrl: " Route2.html ", controller: function ($scope) { alert ("AAA"); } } } })
[Email protected] and [email protected] have no name at the end, so the default template in the portal index.html to find the corresponding Ui-view
Angular multiple Named views record