Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在没有ui导航的情况下获取$stateParams_Javascript_Angularjs_Angular Ui Router - Fatal编程技术网

Javascript 在没有ui导航的情况下获取$stateParams

Javascript 在没有ui导航的情况下获取$stateParams,javascript,angularjs,angular-ui-router,Javascript,Angularjs,Angular Ui Router,您是否可以在html中不使用-标记的情况下接收$stateParams 基本上,我希望这段代码能够工作: .config([ '$locationProvider', '$stateProvider', function($locationProvider, $stateProvider) { $locationProvider.html5Mode(true); $stateProvider .state('schedules_show', { name: 'ed

您是否可以在html中不使用
-标记的情况下接收$stateParams

基本上,我希望这段代码能够工作:

.config([
  '$locationProvider',
  '$stateProvider',
function($locationProvider, $stateProvider) {

  $locationProvider.html5Mode(true);

  $stateProvider
  .state('schedules_show', {
    name: 'edit_schedule',
    url: '/schedules/:id/edit'
  });

}])
因此,我可以从通过$stateParams调用的任何其他控制器获取:id

更多说明:我不想使用$stateParams生成链接或在我的应用程序中移动,因为我的应用程序是RoR和Angular.js的混合体。我在服务器端使用公共链接更改视图。我只想使用angular ui router从URL中获取一些值,以便在我的应用程序的angular.js部分中使用(在本例中为:id)。因为我不想通过Angular导航,也不想使用它的状态相关控制器或视图,这也是我不想在HTML中使用
-标记的原因


问题解决:我认为我通过
角度ui路由器的方法是错误的。我现在有了一个解决方案,我只是通过ng init将参数从HTML传递到控制器,但它没有回答我的问题,所以我认为应该关闭此选项。

如果我理解正确,您需要状态参数。答案是:是的,你可以。第一种方法是使用url参数:
/url/suburl/:param1/:param2/:paramN
。第二种方法(如果您不想在url中看到您的参数)在您的状态中使用
params
选项。然后用这个参数调用你的状态。例如:

.state('schedules\u show'{
名称:“state1”,
url:“/state”,
参数:{
param1:null,
param2:null
}
});

这里,在状态配置中,
null
用于不分配初始值;把这种状态称为

ui sref=“state1({param1:'test',param2:10})”

然后在注入的
$stateparms
对象中,您可以获得这些参数的值

另一种可能的解决方案是在您的状态中使用
resolve
,为分配了此状态的控制器提供特定的参数

更多关于


有意义吗?

没有标签是什么意思?对不起,我在那里写的,所以解释为HTMLS。那么为什么你要使用Angular?我只需要在单页上使用一部分。有意义,但不幸的是,这不是我问题的答案。为什么?您需要一个不带
ui视图的解决方案
。我错了吗?如果不是,这是可能的解决方案。在本例中,您不需要包含
ui视图
。我在帖子中添加了一个说明。您还可以在上面看到,我已经在代码中的状态url中嵌入了参数。