Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.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 角度条件格式json_Javascript_Angularjs - Fatal编程技术网

Javascript 角度条件格式json

Javascript 角度条件格式json,javascript,angularjs,Javascript,Angularjs,我有一个用jquery编写的小应用程序,想把它翻译成angularjs 但我需要一些建议,看看能不能和angularJs合作。在我的应用程序中,我进行一些ajax调用,检索一个Json,然后解析它并注入dom 这里的问题是我的json属性是:简单字符串、数组或嵌套json对象 因此,当我解析json时,我将其格式化:例如,我循环数组并构建一个数据表,或者解析字符串并获取字符串的长度。然后我将所有数据输出到dom 这在jquery中有点冗长,但要使之成为可能。我想知道我是否可以用AngularJs

我有一个用jquery编写的小应用程序,想把它翻译成angularjs

但我需要一些建议,看看能不能和angularJs合作。在我的应用程序中,我进行一些ajax调用,检索一个Json,然后解析它并注入dom

这里的问题是我的json属性是:简单字符串、数组或嵌套json对象

因此,当我解析json时,我将其格式化:例如,我循环数组并构建一个数据表,或者解析字符串并获取字符串的长度。然后我将所有数据输出到dom

这在jquery中有点冗长,但要使之成为可能。我想知道我是否可以用AngularJs做类似的东西

$.each(data.ALLIMG, function(i, image) {
    if(image.alt){
        $("#imagesDetail").append("<li>ALT:" + image.alt + " SRC: ");
        $("#imagesDetail").append(image.src + "</li>");
        totalAltImg++;
    }
});
$("#text").append("<p>" + data.TEXT + "</p>");
$("#text").append("<p><b>Length: </b>" + data.TEXT.LENGTH + " character(s)</p>");
$。每个(data.ALLIMG,函数(i,图像){
if(image.alt){
$(“#imagesDetail”).append(“
  • ALT:+image.ALT+”SRC:”); $(“#imagesDetail”).append(image.src+”
  • ”; totalAltImg++; } }); $(“#text”)。追加(“”+data.text+”

    ”; $(“#text”)。追加(长度:“+data.text.Length+”字符“

    ”;

    在我的角度知识中,我应该使用类似于
    {{text}}
    的东西,但是如果它是一个数组,我如何输出一个表呢?还是列表?

    应该类似于

    <ul>
      <li ng-repeat='image in data.ALLIMG'> ALT: {{image.alt}} {{image.src}}</li>
    </ul>
    
    • ALT:{{image.ALT}{{image.src}
    如果您需要过滤掉无效数据(就像您在示例中所做的那样),您可以在控制器中定义一个过滤谓词:

    <ul>
      <li ng-repeat='image in data.ALLIMG| filter:properImages'> 
         ALT: {{image.alt}} {{image.src}}</li>
    </ul>
    
    • ALT:{{image.ALT}{{image.src}}

    下面是一个完整的工作示例。您可以使用
    ng show
    来测试属性是否存在,尽管在本例中它会呈现为隐藏,但它比过滤器简单得多。我还提供了一个简单的过滤器完整示例。data.TEXT我以为你想数一数文本中的字符

    演示:


    对于要使用的数组,有一件事需要注意,控制器通常不应该执行任何Dom操作。
    <!-- with ngshow -->
    <ul id="imagesDetail">
      <li ng-repeat="image in data.ALLIMG" ng-show="image.alt">
         ALT: {{image.alt}} SRC: {{image.src}}
      </li>
    </ul>
    <!-- with filter see below -->
    <ul id="imagesDetail2">
      <li ng-repeat="image in data.ALLIMG | filter:hasAlt" >
        ALT: {{image.alt}} SRC: {{image.src}}
      </li>
    </ul>
    
    <div id="text">
      <p>{{data.TEXT}}</p>
      <p><b>Length: </b> + {{data.TEXT.length}} character(s)</p>
    </div>
    
     $scope.hasAlt = function(image) {
      return image.alt!==undefined;
     }