AngularJs将参数传递给StateProvider

时间:2015-09-21 15:40:21

标签: angularjs asp.net-mvc

在Mvc视图中,我有:

select * from OPENQUERY(GPROD, 'select cast(to_number(to_char(to_date(''01-JAN-2015'') ,''J'')) as numeric(10,0)) from dual')

在.js文件中:

<button ui-sref="edit({parameter1: 'value'})">

如何在.state中获取按钮的参数parameter1的值,以便将此参数传递给action / Clients / ClientEdit?

1 个答案:

答案 0 :(得分:0)

您可以使用以下语法传递状态参数:

ui-sref="edit({ myParameter: myValue})">

然后,它将在编辑状态下作为stateParam使用。

  

注意:您需要事先在网址中定义接受的参数   e.g。

.state('edit',
   {
       url: '/Edit?myParameter',
       templateUrl: '/Clients/ClientEdit'
   })

现在你可以通过在你的控制器中注入$ state或$ stateParams服务来获得这个参数。

如果你想根据传递的状态参数加载一个不同的模板,你可以使用模板作为函数语法,你的状态定义将成为:

.state('edit',
   {
       url: '/Edit?my_parameter',
       templateUrl: function($stateParams){
            return '/Clients/ClientEdit/' + $stateParams.myParameter;
       }
   })