我如何使用AngularJS和serializeJSON cfquery



我想看看AngularJS,用cf后端

我有下面的代码,提取一个称为getIndex的常规cfquery,每个(firstName, lastName)提取五行列

var theQuery = <cfoutput>#serializeJSON(getIndex,true)#</cfoutput>;
        var theData = theQuery.DATA
        function dataLooper($scope){
            $scope.people = theData;
            console.log($scope.people);
        }
控制台日志产生

对象{FIRSTNAME=[5], LASTNAME=[5]}

我的HTML看起来像

<div ng-controller="dataLooper">
          <div ng-repeat="person in people">
          {{person}} - {{person.FIRSTNAME}}<br>
          </div>
</div>

生产

    ["Yasteel","Kyleigh","Gary","Nick","Kerry-Leigh"] -
["Si","No","Ho","Ga","Gr"] - 

显然我错过了一些东西,因为这不是我所期望的。我猜这是因为AngularJS正在寻找一个数组而不是一个对象。我不确定,但我希望serializeJSON能给我一些类型的可用对象,而不需要很多额外的操作。有人能给我指个正确的方向吗?

ng-repeat可以处理数组或对象。对于对象,使用"(key, value)"语法。

这并不能解决你的问题,除非你像这样重新格式化你的数据:

{ 'Yasteel':'Si', 'Kyleigh':'No', ... }

然后你可以这样做:

<div ng-repeat="(first,last) in people">
    {{first}} - {{last}} <br>
</div>

@Mark谢谢你的帮助。我的问题是关于将CFQUERY转换成ANGULAR可以处理的东西。在Ben Nadel关于Angular的文章和一篇关于将查询转换为结构数组的文章的帮助下。我把它完成了。

对于那些将找到这个的CFers,去获取Ben的queryToArray。下面是一个查询示例,其中包含firstName, lastName, age列。

<cfscript>
  a = createObject('component','angular');
  getQuery = a.getQuery();
  QueryArray = a.queryToArray(getQuery);
</cfscript>
<script type="text/javascript"> 
  var theQuery = <cfoutput>#serializeJSON(QueryArray)#</cfoutput>;
  function dataLooper($scope){
    $scope.people = theQuery;
  }
</script>
<div ng-controller="dataLooper">
  <div ng-repeat="person in people">
  {{person.FIRSTNAME}} - {{person.LASTNAME}} - {{person.AGE}}<br>
  </div>
</div>

我希望这能帮助到其他想要学习Angular的人!

相关内容

  • 没有找到相关文章

最新更新