Why controller does not work in UI-router of angularjs?

前端 未结 1 700
难免孤独
难免孤独 2021-01-15 21:17

When I try to load the \"test\" state or any of these state, controllers does not affect. Template are changed perfectly but no data comes from the mentioned controller in s

相关标签:
1条回答
  • 2021-01-15 21:56

    The point is:

    Any Controller always belongs to view, not to state

    E.g. instead of this:

    // because we used views, this controller is now skipped
    controller:"AtTestController",
    views:{
        "sidebar":{templateUrl:'/partial/task/taskupdateform.html'},
        "content":{templateUrl:'/partial/test.html'}
    }
    

    we need that:

    views:{
        "sidebar":{
           templateUrl:'/partial/task/taskupdateform.html',
           controller:"AtTestController",
        },
        "content":{templateUrl:'/partial/test.html'}
    }
    

    Check the doc for the difference:

    Views override state's template properties

    If you define a views object, your state's templateUrl, template and templateProvider will be ignored. So in the case that you need a parent layout of these views, you can define an abstract state that contains a template, and a child state under the layout state that contains the 'views' object.

    0 讨论(0)
提交回复
热议问题