angular.js:在状态中设置自己的变量?

时间:2015-05-13 23:14:42

标签: angularjs

这是我如何路由到两个不同的URL:

.state('cars', {
    url: "/cars/:title",
    templateUrl: 'templates/cars.html',
    controller: 'article',
})
.state('vegetables', {
    url: "/vegetables/:titel",
    templateUrl: 'templates/vegetables.html',
    controller: 'article',
})

控制器'文章'看起来像这样:

.controller('article', function($scope, $http, $stateParams) {
    $http({
        method: 'POST',
        url: "script.php",
        data: {'type': type, 'title': $stateParams.title},
    });
});

我的问题是如何在控制器的数据中设置变量类型?在这个例子中,类型可以是' cars'或者'蔬菜'。我可以在状态部分设置变量吗?

2 个答案:

答案 0 :(得分:1)

.controller('article', function($scope, $http, $stateParams,$state) {
$http({
    method: 'POST',
    url: "script.php",
    data: {'type': $state.current.name, 'title': $stateParams.title},
});

});

答案 1 :(得分:0)

我不知道您使用的路由器或Angular的版本,但在Angular 1.2.x中使用ui.router模块(插件),您会:

1)将$state注入您的控制器,然后执行以下操作:

2)$state.go('cars', {'title': 'an awesome car'})