将innerText传递给Angularjs控制器

时间:2016-07-12 15:41:01

标签: javascript angularjs

我正在尝试在Angular应用程序中获取<p>元素的内部文本,并使用ng-route将其传递给方法和视图。因此,当用户单击<p>元素时,innerText将通过方法传递,获取一些数据,然后返回一个返回响应数据的新视图

<p ng-click="searchUser()">Bob Ross</p>

JS

var app = angular.module('app', ['ngRoute'])
  .config(['$routeProvider', function($routeProvider){
  .when('/searchUser:name', { 
        templateUrl: 'user-results.html',
        controller:  'searchController'
    })

app.controller('searchController', function($scope, $routeParams) {
    $scope.name = $routeParams.name;
    $scope.searchUser = function(){
        // do some stuff;
    }
});

我不确定如何正确抓取<p>标签的内部文本并将其传递给方法(我可能会离开);我应该将它绑定到我的模型然后作为routeparam传递吗?

感谢任何帮助!

2 个答案:

答案 0 :(得分:2)

我假设你正在使用$http来获取控制器中的用户列表,在这种情况下你可以这样做:

<p ng-repeat="user in users" ng-click="searchUser(user.name)">{{user.name}}</p>

在你的控制器中:

$scope.searchUser = function(userName){
   // do some stuff with userName;
};

答案 1 :(得分:2)

您可以将$ event参数传递给searchUser函数。然后,您可以使用$ event.currentTarget来获取元素。有关$ event对象的更多详细信息,请click here

{
 "from": 0,
 "size": 10,
 "sort": [
   {
     "PRONumber.sort": {
       "order": "desc"
     }
   }
 ],
 "query": {
   "bool": {
     "must": [
       {
         "match": {
           "BOLNumber": {
             "query": "7861254",
             "analyzer": "gtz_search_analyzer",
             "operator": "and"
           }
         }
       },
       {
         "range": {
           "CreatedDate": {
             "gte": "1753-01-01",
             "lte": "2016-06-15||/d"
           }
         }
       }
     ]
   }
 }
}