I have this code:
angular.module("App").config(function($stateProvider, $locationProvider, $injector) {
$stateProvider
.state("member", {
url: "/member",
abstract: true
})
.state("member.list", {
url: "/list",
views: {
"" : {
templateUrl: "/js/angular/partials/member/list.html?" + Math.random(),
controller: 'MemberController'
}
}
});
});
If I change it to:
angular.module("App").config(function($stateProvider, $locationProvider, $injector) {
$stateProvider
.state("member", {
url: "/member/list",
views: {
"" : {
templateUrl: "/js/angular/partials/member/list.html?" + Math.random(),
controller: 'MemberController'
}
}
});
});
And I do
$state.go("member");
It works ok. Loads the html and parse it to the main view, but with the first version and doing
$state.go("member.list");
It does not parse the html to the main view. It does load the html (I can see it at the debugger) but the html is not placed at the view. What am I doing wrong?
EDIT 1
I found this but this is not really helpful, because I'm doing it programmatically, not with html :(
EDIT 2
Fiddle not working: http://jsfiddle.net/8ET4L/
Fiddle working: http://jsfiddle.net/FFx95/
EDIT 3 Fix:
angular.module("App").config(function($stateProvider, $locationProvider, $injector) {
$stateProvider
.state("member", {
url: "/member",
abstract: true,
template: "<div ui-view />"
})
.state("member.list", {
url: "/list",
views: {
"" : {
templateUrl: "/js/angular/partials/member/list.html?" + Math.random(),
controller: 'MemberController'
}
}
});
});