如何使用angular.js传递参数?

时间:2016-02-21 12:33:19

标签: javascript php angularjs

我正在构建我的第一个角度应用程序,我差不多完成了它,但我还有一页要完成,这让我有点头疼。

所以我有一个页面列出了我去过的旅行。这是通过以下代码完成的。

<?php
 $sql = "SELECT * FROM tripreport WHERE userid = $userid LIMIT 10";
            $result = $conn->query($sql);

            if ($result->num_rows > 0) {
              while($row = $result->fetch_assoc()) {
      ?>
<div class="row">
   <div class="col-lg-7 col-md-7">
        <a href="#">
            <img class="img-responsive" src="reportimages/<?php echo $row['banner_img'];?>" alt="">
        </a>
    </div>
    <div class="col-lg-5 col-md-5">
        <h3><?php echo $row['reportname'];?></h3>
        <h4><?php echo $row['reportstartdate'];?>
            <strong class="pull-right "><?php echo $row['likes'];?> Likes</strong>
        </h4>
        <hr class="border-gray">
        <?php echo $row['reportdescription'];?>
        <hr class="border-gray">
        <a class="btn bg-green" href="#!/report-listing"></span>Manage</a>
        </div>
    </div>
</div>

所以我的网址如下:

<a class="btn bg-green" href="#!/report-listing"></span>Manage</a>

我需要这个来从数据库中获取ID并将其发布到报告列表页面,以便我可以提取相应的报告。

我认为有些东西需要进入我的angular-menu.js JS来做这个目前只有:

         when('/report-listing', {
        templateUrl: 'pages/report-listing.php',
        controller: ReportListingsCtrl,
        activetab: 'report-listing'
    }).

另外我想我的controller.js文件中需要一些我目前设置为:

的文件
function ReportListingsCtrl($scope, $http, $timeout) {}

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

首先,告诉您的目标控制器(您所指的页面)在我们导航到该页面时期望并接受参数。在您的app.js中,引入:reportId param来发送ID。

$routeProvider.when('/report-listing/:reportId?', {
            templateUrl: 'pages/report-listing.php',
            controller: ReportListingsCtrl,
            activetab: 'report-listing'
        }).

参数后面的问号表示它是一个可选参数。

<a class="btn bg-green" href="#!/report-listing/3"></span>Manage</a>

在Controller.js中,您可以访问id。

function ReportListingsCtrl($scope, $http, $timeout,$routeParams) {
$scope.id=$routeParams.reportId;
}