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

时间:2016-03-19 18:13:04

标签: angularjs routing angular-ui-router angularjs-routing

我试图学习如何使用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-view:

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

我现在已经在这里摆弄了一个小时左右,并且四处搜索,我无法弄清楚我应该做些什么来决定做某事并将结果传递给控制器。

1 个答案:

答案 0 :(得分:1)

当您在views级别选项中提及state属性时,它会忽略templateUrl&amp;关于该州的controller。它只需要控制器&amp; template/templateUrl来自其中一个观点。

<强>代码

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