带参数的角度状态

时间:2016-02-08 20:50:57

标签: angularjs

我试图通过提供一些参数来导航到我的状态。 这是我的代码:

州:

a = angular.module('app.panel', []);
a.config(
function ($stateProvider) {
    $stateProvider
        .state('body.new', {
        url: 'new',
        templateUrl:function($stateParams){
            return 'http://localhost/' + 'new.aspx?panel_id=' +  $stateParams.panel_id
        },
        controller: 'newController'
    });
});

我正在这样导航到这个状态:

var url = $state.href('body.new', { parameter: $scope.parameters });
$window.open(url, '_blank');

状态$ stateParams 未定义。如果我以错误的方式这样做,那么正确的方法是什么?

感谢您的帮助。

更新1。 我已将代码修改为:

url: 'new/:panel_id',
params: {
     parameter: null,
},

但我的问题是我仍然获得$ stateParams 未定义

1 个答案:

答案 0 :(得分:0)

只需将代码缩减一点,就需要改变它:

a.config(
function ($stateProvider, $stateParams) {
  $stateProvider ...

它抱怨$ stateParams,因为你并没有说它是一种依赖。

编辑:

或者,试试这个:

a.config(
function ($stateProvider, $state) {
  $stateProvider ...

然后你可以通过$ state.params.id

访问它