Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.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 如何通过单击按钮从我的控制器中选择数据_Javascript_Angularjs - Fatal编程技术网

Javascript 如何通过单击按钮从我的控制器中选择数据

Javascript 如何通过单击按钮从我的控制器中选择数据,javascript,angularjs,Javascript,Angularjs,我有一个从JSON获取数据的视图,使用该数据填充一个包含数据基本信息的按钮列表,然后单击按钮,我希望另一个面板填充绑定到按钮中数据的数据 <div ng-controller="QueueCtrl"> <ul class="list-unstyled" ng-repeat="ticket in tickets"> <li><div data-queue-item></div></li> <

我有一个从JSON获取数据的视图,使用该数据填充一个包含数据基本信息的按钮列表,然后单击按钮,我希望另一个面板填充绑定到按钮中数据的数据

<div ng-controller="QueueCtrl">
    <ul class="list-unstyled" ng-repeat="ticket in tickets">
        <li><div data-queue-item></div></li>
    </ul>
</div>
此部分使用包含我希望显示的票证信息的每个列表项填充列表

当我按下票证按钮填充其他面板时,如何仅选择票证的数据?例如,页面上的下一部分可能是一个按钮,该按钮将向数据中的人发送电子邮件:如果我没有测试此代码,请给我一些提示,如果我做错了

<a href="mailto:{{ ticket.email_address }}?subject={{ ticket.ticket_number }}&body=Hello%20{{ ticket.first_name }}" type="button" class="btn btn-default" title="pre-formatted email">{{ ticket.email_address || "cannot find email address"}}</a>
问题是,我不知道如何告诉它哪张票在票参考


谢谢

您只需在范围中创建对所选票证的引用即可。例如:

<div ng-controller="QueueCtrl">
    <ul class="list-unstyled" ng-repeat="ticket in tickets">
        <li ng-click="cont.selectedTicket = ticket"><div data-queue-item></div></li>
    </ul>
</div>
只需确保在父控制器中创建容器变量,以便子控制器可以引用它:

$scope.cont = {};

下面是一个工作示例,希望对您有所帮助

你只需要使用一个参考

  $scope.selectedTicket = {};

由于“selectedTicket”是在ng repeat创建的子作用域中定义的,并且您正在其中设置selectedTicket,因此selectedTicket作用域变量将无法正确解析。每个ng repeat将获得其自己的selectedTicket副本。但是,如果在模型中引入“.”,它应该会起作用。i、 e.ng click=$parent.selectedTicket=ticket您是对的,但是您的修复程序似乎没有修复它。我已经尝试了你的代码$parent.selectedTicket=ticket,引用$scope.selectedTicket没有从{}更改。我让它工作了!!!如果没有您的示例代码,我将无法完成它。非常感谢你!
$scope.cont = {};
  $scope.selectedTicket = {};