Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.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 重定向到另一页后,如何在angularjs中使用上一页的控制器和范围数据_Javascript_Jquery_Html_Angularjs - Fatal编程技术网

Javascript 重定向到另一页后,如何在angularjs中使用上一页的控制器和范围数据

Javascript 重定向到另一页后,如何在angularjs中使用上一页的控制器和范围数据,javascript,jquery,html,angularjs,Javascript,Jquery,Html,Angularjs,这是一份作业。此表包含书籍详细信息,其中包含书籍名称、作者、价格、ISBN和类别。当用户点击图书名称时,它应该重定向到显示图书名称、作者和价格的订单页面 BookPage.html <script type="text/javascript" src="book.js"> <body ng-app="mymodule" > <div ng-controller="myController" > <table bord

这是一份作业。此表包含书籍详细信息,其中包含书籍名称、作者、价格、ISBN和类别。当用户点击图书名称时,它应该重定向到显示图书名称、作者和价格的订单页面

BookPage.html

 <script type="text/javascript" src="book.js">
    <body ng-app="mymodule" >
    <div ng-controller="myController" >
          <table border=2>
            <thead>
            <tr>
              <th>ISBN</th>
              <th>NAME</th>
              <th>AUTHOR</th>
              <th>CATEGORY</th>
              <th>PRICE</th>
            </tr>
            </thead>
            <tbody>
              <tr ng-repeat="book in books">
                <td>{{ book.ISBN }}</td>
                <td ><a href="" ng-click="getdetail(book)">{{ book.Name }}</a></td>
                <td>{{ book.Author }}</td>
                <td>{{ book.Category }}</td>
                <td>{{ book.price }}</td>
                </tr>
            </tbody>
        </table>

    **books.js**        


 var myapp = angular.module('mymodule', []);
     myapp.controller("myController", function($scope, $http,$window) {
      $http.get("https://api.myjson.com/bins/p4ujn").then(function(response) {
            $scope.books = response.data;
            $scope.getdetail=function(){
              $scope.getbookdetail=this.book;
              $window.location.href = "orderpage.html";     
            }
      }); 
    });
  <script type="text/javascript" src="book.js"></script>
    <body ng-app="mymodule" >
      <div ng-controller="myController" >
          {{getbookdetail.Name}}<br>
          {{getbookdetail.Author}}
          {{getbookdetail.price }}<br>
        </div>
    </body

ISBN
名称
作者
类别
价格
{{book.ISBN}
{{book.Author}}
{{book.Category}
{{book.price}}
**books.js**
var myapp=angular.module('mymodule',[]);
controller(“myController”,函数($scope、$http、$window){
$http.get(“https://api.myjson.com/bins/p4ujn)然后(函数(响应){
$scope.books=response.data;
$scope.getdetail=function(){
$scope.getbookdetail=this.book;
$window.location.href=“orderpage.html”;
}
}); 
});
当用户单击图书名称时要重定向的页面

orderpage.html

 <script type="text/javascript" src="book.js">
    <body ng-app="mymodule" >
    <div ng-controller="myController" >
          <table border=2>
            <thead>
            <tr>
              <th>ISBN</th>
              <th>NAME</th>
              <th>AUTHOR</th>
              <th>CATEGORY</th>
              <th>PRICE</th>
            </tr>
            </thead>
            <tbody>
              <tr ng-repeat="book in books">
                <td>{{ book.ISBN }}</td>
                <td ><a href="" ng-click="getdetail(book)">{{ book.Name }}</a></td>
                <td>{{ book.Author }}</td>
                <td>{{ book.Category }}</td>
                <td>{{ book.price }}</td>
                </tr>
            </tbody>
        </table>

    **books.js**        


 var myapp = angular.module('mymodule', []);
     myapp.controller("myController", function($scope, $http,$window) {
      $http.get("https://api.myjson.com/bins/p4ujn").then(function(response) {
            $scope.books = response.data;
            $scope.getdetail=function(){
              $scope.getbookdetail=this.book;
              $window.location.href = "orderpage.html";     
            }
      }); 
    });
  <script type="text/javascript" src="book.js"></script>
    <body ng-app="mymodule" >
      <div ng-controller="myController" >
          {{getbookdetail.Name}}<br>
          {{getbookdetail.Author}}
          {{getbookdetail.price }}<br>
        </div>
    </body

{{getbookdetail.Name}}
{{getbookdetail.Author} {{getbookdetail.price}}
您可以使用在控制器之间共享数据

演示

var-app=angular.module(“clientApp”,[])
app.controller(“TestCtrl”,
函数($scope,name){
$scope.names=[];
$scope.save=function(){
name.add($scope.name);
}
$scope.getnames=函数(){
$scope.names=names.get();
}
}
);
app.factory('名称',函数()){
变量名称={};
names.list=[];
names.add=函数(消息){
names.list.push({message});
};
name.get=函数(){
返回name.list;
};
返回姓名;
});

拯救
{{name}}

您应该使用factory/Services、localStorage、routeParams或子父控制器

有许多方法可以创建getter setter服务/工厂、在路由中传递数据或使用localStorage模块。另一种方法是使用父控制器并使用$scope访问数据。$parentAs我是angular js新手。请详细说明。我不知道如何使用下面的答案可以帮助你。这是一种方法。他是对的,这是最好的方法还有其他方法,但你应该用他写代码的方式。如果你愿意,我可以为你写代码?@AsifSaeed:请不要在这里为海报写代码。这是非常有帮助的你,但我们不希望堆栈溢出作为一个地方,可以要求免费工作的声誉。可以说,很多懒惰的人已经在这样做了,我们不希望这种情况变得更糟。如果没有适当的解释,只有代码的答案在这里没有什么价值Hello@AsifSaeed我尝试了你的代码,但它不起作用。重定向到orderpage后,boookdata中没有任何数据。请检查此。book是否获取了数据。单击事件为firedyes时执行console.log。!BookData.add(this.book);包含单击的数据进行一些调试检查工厂中的方法是否在工厂添加方法中接收到数据,并检查从工厂获取方法发送的数据