使用 UI-Route 将解析结果传递给控制器

Passing result of resolve into controller with UI-Route

我正在尝试学习如何将解析与 UI-Router 一起使用,但我认为我缺少一条信息,因为我无法弄清楚如何使它们工作。

我有这样的状态设置:

app.config(['$stateProvider', function($stateProvider) {
    $stateProvider
        .state('testState', {
            url: '/testRoute',
            controller: 'TestContoller',
            views: {
                "body": { 
                    templateUrl: "testHtml.html" 
                }
             },
            resolve: {
                test:  function(){
                    return {value: "test"};
                 }
            }
        })      
}]);

然后我有一个控制器:

app.controller("TestController", ["$scope", "test", function($scope, test) {
    console.log(test);
}]);

然后我有一个 testHtml.html 目前没有任何内容的部分文件:

<div ng-controller="TestController">
Test content
</div>

然后加载到 index.html 中的 ui 视图中:

<div ui-view="body" autoscroll></div>

我已经摆弄了一个小时左右,谷歌搜索,但我无法 uite 弄清楚我应该做什么才能下定决心做某事并通过结果进入控制器。

当您在 state 级别选项中提及 views 属性时,它会忽略该状态的 templateUrlcontroller。它只从一个视图中获取控制器 & template/templateUrl

代码

views: {
   "body": { 
      templateUrl: "testHtml.html",
      controller: 'TestContoller' //moved it to named-view level
   }
},