如何将值传递给控制器​​?

时间:2014-06-05 01:45:33

标签: javascript angularjs

我正试图从Angular的stateProvider传递值到子控制器。

我有类似

的东西
  $stateProvider      
        .state('test', {
            url: '/test',
            views: {
                '': {
                    templateUrl: 'test.html',
                    controller: 'testCtrl',
                    testValue : true
                }
            }
        })

我想从这里将testValue变量传递给testCtrl。我上面的代码不起作用。有人可以帮我吗?非常感谢!

2 个答案:

答案 0 :(得分:2)

试试这个:

 $stateProvider      
    .state('test', {
        url: '/test',
        views: {
            '': {
                templateUrl: 'test.html',
                controller: 'testCtrl',
            }
        },
        resolve : {
           testValue : function()
           {
             return {value : true}
           }
        }
    })

在testController中:

function testController($scope,........,testValue){
   $scope.value = testValue.value;
}

更多信息here

答案 1 :(得分:2)

您还可以使用data属性而不是解析。请参阅此处的文档https://github.com/angular-ui/ui-router/wiki/Nested-States-%26-Nested-Views#inherited-custom-data