Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.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 NG-CLICK角度中的简单函数不通过变量_Javascript_Jquery_Json_Angularjs - Fatal编程技术网

Javascript NG-CLICK角度中的简单函数不通过变量

Javascript NG-CLICK角度中的简单函数不通过变量,javascript,jquery,json,angularjs,Javascript,Jquery,Json,Angularjs,我定义了一个基本控制器,它有一个名为setSector的函数(在底部) 这是从我的索引文件调用的 <html ng-app> <head> <title>PPM Viewer</title> <script type="text/javascript" src="js/lib/angular.min.js"></script> <script type="text/javascript" src

我定义了一个基本控制器,它有一个名为setSector的函数(在底部)

这是从我的索引文件调用的

<html ng-app>
<head>
    <title>PPM Viewer</title>
    <script type="text/javascript" src="js/lib/angular.min.js"></script>
    <script type="text/javascript" src="js/lib/angular-resource.min.js"></script>
    <script type="text/javascript" src="js/controllers/app.js"></script>
    <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
</head>

<body>
<div class="container" ng-controller="AppCtrl">
    <h1>PPM Dashboard</h1>
    <ul>
        <li ng-repeat="sector in sectors.Sector">
            <a href="" ng-click="setSector(sector.sectorCode)">{{sector.sectorCode}} - {{sector.sectorDesc}}</a>
        </li>
    </ul>

    <p>
        Current sector : {{currentSector.sectorDesc}}
        Current code : {{currentSector.sectorCode}}
    </p>

</div>

</body>

PPM查看器
PPM仪表板
当前扇区:{{currentSector.sectorDesc} 当前代码:{currentSector.sectorCode}

当您单击UL列表中的扇区时,被单击的扇区的名称应该出现在底部,但由于某些原因,该函数没有返回任何内容

我确信这是因为需要在函数的某个地方指定$scope.sectors.Sector。但我尝试的都不管用。我对角度和范围仍然很陌生,我认为我需要强迫范围进入更深的层次。。只是不知道怎么做

有谁能建议我怎样做这个功能。。。函数!=)


非常感谢

您正在设置$scope.currentSector,而不是.sectorDesc

因此,请更改函数或模板:

模板:

Current sector : {{currentSector}}
 $scope.currentSector = {};
 $scope.setSector = function (sectorCode) {
    $scope.currentSector.sectorDesc = $scope.sectors[sectorCode];
 };
或功能:

Current sector : {{currentSector}}
 $scope.currentSector = {};
 $scope.setSector = function (sectorCode) {
    $scope.currentSector.sectorDesc = $scope.sectors[sectorCode];
 };

因此,更简洁的方法是使用Angular的$index功能。尝试将代码更改为:

HTML

ng repeat中的$index表示数组中项目的索引,您可以在javascript中使用该索引从数组中选择正确的扇区。

感谢您的快速响应。我对前端示例进行了一些扩展。该函数应该为整个扇区提取详细信息,而不仅仅反映已单击的代码,因为我还将列出PPM数据的信息。因此,我尝试了你建议的功能,但没有成功。这一页还是空白的。我已经检查了控制台,没有错误。只是没有什么
$scope.setSector = function (index) {
   $scope.currentSector = $scope.sectors.Sector[index];
};