Javascript 如何使用AngularJS从查询字符串中检索值

Javascript 如何使用AngularJS从查询字符串中检索值,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,我在上一个项目中取得了很多进展,需要最后一点帮助,但我似乎无法得到 我用页面上需要填充的所有数据构建了整个angular controller,但我需要根据从另一个页面传递的特定值进行过滤 我决定使用查询字符串,但我不知道如何检索我的2个参数,1个在本节中使用,1个在页面的后面使用。我尝试使用jquery url(project),但在jquery调用中,我无法将其连接到angular scope对象 如何正确使用资源或位置提供程序来完成此任务 url示例: 注意:在前面的页面中,我调用了ng应

我在上一个项目中取得了很多进展,需要最后一点帮助,但我似乎无法得到

我用页面上需要填充的所有数据构建了整个angular controller,但我需要根据从另一个页面传递的特定值进行过滤

我决定使用查询字符串,但我不知道如何检索我的2个参数,1个在本节中使用,1个在页面的后面使用。我尝试使用jquery url(project),但在jquery调用中,我无法将其连接到angular scope对象

如何正确使用资源或位置提供程序来完成此任务

url示例: 注意:在前面的页面中,我调用了ng应用程序和ng控制器指令

我加载了angular库和jquery库。 //我如何抓取url项 使用url.js

<script>
        $(document).ready(function () {
           var myactivity =url('?activity');
           var myday = url('?day');
          $scope.currentactivity = myactivity;

//I tried saving the value to a input variable and using ng-bind but it doesnt see the initial value.
// $("#activityitem1").val(myactivity);
        });
                            </script>

<input ng-model="currentactivity" id="activityitem1">
   <h1>NG-MODEL VALUE IS {{currentactivity}}</h1>
 <div class="item item-bg-center-contain">
    <div ng-repeat="items in activities  | filter:{id : myactivity }:true">
          <img ng-src="assets/images/activities/headers/{{items.id}}.jpg" class="img-responsive" style="width:100%;height:auto;" />
    </div>


//controller/instantiation code
 var myapp = angular.module("ActivitySelection", []);


            myapp.controller("ActivityController", function ($scope) {
$scope.shortdates = ["Thursday, January 28","Friday, January 29","Saturday, January 30"];
$scope.currentactivity = 1;
                $scope.activities =
                 [{
    "id":1,
    "title":"Activity1"},

{
    "id":2,
    "title":"Activity2"},
......
{
    "id":8,
    "title":"Activity8"}
];

$(文档).ready(函数(){
var myactivity=url(“?activity”);
var myday=url(“?day”);
$scope.currentactivity=myactivity;
//我尝试将值保存到输入变量并使用ng bind,但它看不到初始值。
//$(“活动项目1”).val(我的活动);
});
NG-MODEL值为{{currentactivity}}
//控制器/实例化代码
var myapp=angular.module(“ActivitySelection”,[]);
myapp.controller(“活动控制器”,函数($scope){
$scope.shortdates=[“1月28日星期四”、“1月29日星期五”、“1月30日星期六”];
$scope.currentactivity=1;
$scope.activities=
[{
“id”:1,
“标题”:“活动1”},
{
“id”:2,
“标题”:“活动2”},
......
{
“id”:8,
“标题”:“活动8”}
];

您可以使用angularJS的$location服务进行同样的操作

myapp.controller("ActivityController", function ($scope,$location) {
  var myParam=$location.search().YOUR_SEARCH PARAM
  //use myParam however you want. 

有关更多信息,请参见。我刚刚为您创建了一个plunk。请检查一下

此示例基于ngRoute的默认路由库。如果您需要ui路由器示例,请告诉我

注意:在这个例子中,我使用$route来获取参数 $routeParams仅在路由更改成功完成后更新。这意味着您不能依靠$routeParams在路由解析函数中是正确的。相反,您可以使用$route.current.params访问新路由的参数


希望这有帮助!

我尝试了你的想法,但我得到了以下错误。'code'类型错误:$location.query在Object.invoke(angular.js:4473)在extend.instance(angular.js:9093)在nodeLinkFn(angular.js:8205)在compositeLinkFn(angular.js:7637)在compositeLinkFn不是函数(angular.js:7641)位于publicLinkFn(angular.js:7512)位于angular.js:1660位于Scope.$eval(angular.js:15878)位于Scope.$apply(angular.js:15978)“代码”myapp.controller(“活动控制器”,函数($Scope,$location){$Scope.shortdates=[“1月28日星期四”、“1月29日星期五”、“1月30日星期六”];var myparam=$location.query().activity;抱歉..我的错应该是$location.search()…更新了答案让我尝试实现“$scope.activityparam=$location.search().activity;activityparam{{activityparam}”“我做错了什么?请在这里发布你的答案。谢谢你的想法阿披舍克,但我想使用更基本的东西,如http属性i是指$location对象,但我在从Top检索它时遇到了困难谢谢你的帮助。我的下一个问题是js对象文字,例如,我如何撤回url…”。。。“blurb”:[“\”target=\“\u blank\”>GooglwA舒适驾驶…]在屏幕上呈现为:“target=“\u blank”>GooglwA舒适驾驶,它应该是一个链接