我试图通过提供一些参数来导航到我的状态。 这是我的代码:
州:
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 未定义。
答案 0 :(得分:0)
只需将代码缩减一点,就需要改变它:
a.config(
function ($stateProvider, $stateParams) {
$stateProvider ...
它抱怨$ stateParams,因为你并没有说它是一种依赖。
编辑:
或者,试试这个:
a.config(
function ($stateProvider, $state) {
$stateProvider ...
然后你可以通过$ state.params.id
访问它