javascript - AngularJs Ui-view can't show correctly -


i want use ui-view , ui-router in part of page.but reason can't show template "app_usermng_table.html". main code of part follows:

1.router config part

(i have add "ui.router" dependency in module "app" yet.)

.state('app.usermng', {               url: '/usermng',               templateurl: 'tpl/app_usermng.html',                resolve: {                   deps: ['uiload',                     function( uiload ){                       return uiload.load( ['js/controllers/usermng/usermng.js','css/usermng.css'] );                   }]               },               onenter: function(){                 console.log("enter usermng");               }           })           .state('app.usermng.table',{               url:'/table',               templateurl:'tpl/app_usermng_table.html',               resolve:{                 deps:[                     'uiload',                     function(uiload){                       return uiload.load(['js/controllers/usermng/usermngtable.js'])                     }                 ]               },               onenter: function(){                 console.log("enter usermng table");               }            }) 

2.app_usermng.html

i want put template in

<div ui-view></div> 

tag.

<div class="hbox hbox-auto-xs hbox-auto-sm" ng-controller="usermngctrl">   <div ng-controller="usermngctrl">     <div class="bg-light lter b-b wrapper-md">       <h1 class="m-n font-thin h3">user management</h1>     </div>   <div ui-view></div>  </div> </div> 

3.usermng controller

i add code

$state.transitionto 

hoping when enter state "app.usermng", state "app.usermng.table" can shown in parent.

app.controller('usermngctrl',['$scope','$state',function($scope,$state){    $state.transitionto('app.usermng.table');    console.log("table") }]);  

4.navigation bar

i hope jumps state "app.usermng" when click 'usermanagement' on navigation bar.

<li ui-sref-active="active"> <a ui-sref="app.usermng"> <i class="glyphicon glyphicon-list-alt icon text-info-dker"></i> <span class="font-bold" translate="aside.nav.usermng">user management</span> </a> </li>

however,all i've done seems useless...the table part isn't shown.the console content follows:

enter usermng usermng.js:3 table usermng.js:3 table 

it seems child state "app.usermng.table" never enters.

could tell me what's problem.thanks lot! :)

you need add 'abstract':true property, here:

.state('app.usermng', {           url: '/usermng',           templateurl: 'tpl/app_usermng.html',           abstract: true,           resolve: {               deps: ['uiload',                 function( uiload ){                   return uiload.load( ['js/controllers/usermng/usermng.js','css/usermng.css'] );               }]           },           onenter: function(){             console.log("enter usermng");           }       })       .state('app.usermng.table',{           url:'/table',           templateurl:'tpl/app_usermng_table.html',           resolve:{             deps:[                 'uiload',                 function(uiload){                   return uiload.load(['js/controllers/usermng/usermngtable.js'])                 }             ]           },           onenter: function(){             console.log("enter usermng table");           }        }) 

Comments

Popular posts from this blog

sql - VB.NET Operand type clash: date is incompatible with int error -

SVG stroke-linecap doesn't work for circles in Firefox? -

python - TypeError: Scalar value for argument 'color' is not numeric in openCV -