如何在Angular Js的data-ui-sref中使用$ scope值参数将一个页面导航到另一个页面?

时间:2017-07-05 12:45:25

标签: angularjs

我正在为网络应用程序使用角度js。所以我想将一个页面导航到另一个页面,其中包含data-ui-sref中的一些参数。当我使用静态参数时,它将使用参数导航。

示例:
<a data-ui-sref="app.admin({startFrom:'param1',endTo:'param2'})">click</a>

Module.js

    .state('app.admin', {
        url: '/travlers?startFrom&endTo',
        data: {
          title: 'travelers'
        },
        params :
        {
           startFrom: null,
           endTo:null

         },
       views: {
      "content@app": {
        templateUrl: 'app/admin.html',
        controller: 'admin'
      }
    }
    });

如果我在data-ui-sref中使用静态参数,那么它将起作用。但是,如果我从参数中的范围值中取出,那么它就无法正常工作。

当我在data-ui-sref参数中使用范围值

example.html的

 <a data-ui-sref="app.admin({startFrom:'{{dateFrom}}',endTo:'{{dateTo}}'})">click</a>

example.js

angular.module('app.admin').controller('example', function () {
      $scope.dateFrom="07-05-17";
      $scope.dateTo="07-05-17"
});

当我在控制台中看到时,范围值附加在 data-ui-sref 参数

当我在控制台中看到它时,它看起来像这样

<a data-ui-sref="app.systemAdmin.travelers({startFrom:'07-05-17',endTo:'07-05-17'})" class="fa fa-external-link-square" aria-hidden="true" style="font-size:18px;color:#fff" href="#/systemadmin/travlers">click</a> 

点击链接后,参数不会转到module.js。 URL是没有参数的形式,参数(dateFrom,dateTo)不在状态URL 中。 我见过一个链接。但它是动态值Dynamically set the value of ui-sref Angularjs但我的查询不是作为data-ui-sref中的参数的范围值。

1 个答案:

答案 0 :(得分:1)

ui-sref值是范围表达式。因此,您不必插入范围值,而是将其传递为javascript,直接访问您的范围,如:<a data-ui-sref="app.admin({ startFrom: dateFrom, endTo: dateTo })">click</a>