【问题标题】:Angular controller to retrieve json data用于检索 json 数据的 Angular 控制器
【发布时间】:2015-11-04 21:50:46
【问题描述】:

这里我实际上是在尝试获取 json 数据并使用角度控制器将它们显示在玉模板上。

控制器: processJson.js

 var getJson = angular.module('getJson', []).controller('controller1',   function ($scope, $http) {
var url = '/fields/fieldlist';
console.log(url);
$http.get(url).success(function (data) {
    $scope.posts = data;
  });

 });

这不会将 json 数组解析为玉模板

fields.js

var express=require('express');
var router =express.Router();


 router.get('/fieldlist',function(req,res){
  var db=req.db;
  var collection=db.get('domlist');
   collection.find({},{},function(e,docs){
    res.json(docs); 
  });  
});

module.exports=router;

这样就成功返回了一个json数组对象。

这是我的玉模板

html
head


body 
     div(ng-app='getJson')
        div(ng-controller='controller1')
            div(ng-repeat='post in posts')
                div(ng-switch-when='text')

                    input(type='text' id='{{post.id}}' ng-model='post.value' placeholder='{{post.placeholder}}')

                    block content

【问题讨论】:

    标签: javascript json angularjs node.js


    【解决方案1】:

    这里有几件事:

    不要在控制器中使用 $http。 Ajax 请求和一般数据发送/检索应该进入您注入控制器的服务或工厂。

    在这种情况下,您应该考虑编写一个包含 getFields() 方法的 fieldService 并从您的控制器调用它。

    由于我非常怀疑这是导致您的问题的原因,因此我将指出您的示例中困扰我的原因:

    • 你对 $http 的使用很容易让人头疼,如果没有错的话。你可能对$http's documentation 感兴趣,它解释了最推荐的使用方法。还要考虑在您的请求中捕获错误,以防万一出现问题并阻止您的数据显示。

    • 在您的模板中,您使用的是没有任何父 ng-switch 的 ng-switch-when 属性。我当然不是专家,但我不确定它是否会起作用。如果您希望您的 div 在“文本”为真时显示,请考虑使用 ng-if 或 ng-show,甚至在 ng-repeat 中使用过滤器。

    • 我还假设“文本”是您忘记在示例中放入的范围变量。

    • 您的两个示例中的网址都不相同,您确定它们都正确吗?

    抱歉,我没有时间尝试重现您的问题。我希望这些要点中的至少一项可以帮助您了解自己做错了什么。

    【讨论】:

      【解决方案2】:

      要测试您的解决方案,请考虑将其分解为单独的可测试组件。经常使用硬编码 JSON 提供的 ng-init angular 指令可能会发现问题和不正确的假设。

      这是关于 ng-init....的一个 SO 问题。

      SO ng-init-json-object

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-26
        • 2013-05-10
        • 1970-01-01
        • 1970-01-01
        • 2014-01-06
        • 2016-02-07
        相关资源
        最近更新 更多