让 Json 进入网页 Angular 页面

Posted

技术标签:

【中文标题】让 Json 进入网页 Angular 页面【英文标题】:Get Json into a web angular page 【发布时间】:2014-10-03 03:27:13 【问题描述】:

我正在为我的项目使用 Total.js 框架。我正在关注这个示例https://github.com/totaljs/examples/tree/master/angularjs-mongodb-rest-resources 我想做的是获取一个 json 列表并在 angularjs 网页中打印出来。我从数据库中正确获得了 json 列表。我得到的是浏览器上原始格式的 json 列表打印。我会在 html 文件中打印出来。这是控制器:

exports.install = function(framework) 
    framework.route('/', view_app);
;

function view_app() 

    var self = this;
    var Car = MODEL('car').Schema;

    Car.find(, _id:0, brand:1, function(err, docs)

        if(err)
            self.view500(err);

        self.json(docs)
    ); 

我不知道如何将 json 文件绑定到 angularjs 网页。我已经按照示例进行了操作,但没有成功

【问题讨论】:

你能给我们看一个你的AngularJS视图和控制器的例子吗?加载后,可以像 JS 对象一样操作 JSON。 【参考方案1】:

您必须使用controller.view('my-view-name', docs) 而不是controller.json(docs),因为 json 将序列化对象返回到 JSON 中,而视图返回 HTML。谢谢。

exports.install = function(framework) 
    framework.route('/', view_app);
;

function view_app() 

    var self = this;
    var Car = MODEL('car').Schema;

    Car.find(, _id:0, brand:1, function(err, docs)

        if(err)
            self.throw500(err);
        else
            self.view('my-view-name', docs)
    ); 

【讨论】:

【参考方案2】:

我不确定您究竟想如何执行此操作,但本质上您只想获取您的JSON 值,将其分配给$scope 变量并使用标准绑定将其附加到您的页面。

您需要在 angularjs 控制器中获取您的文档数据,这意味着您可以访问$scope。然后只需执行以下操作:$scope.docs = docs(假设这是您要显示的数据)。希望您已经像这样(或类似)定义了您的控制器:

angular.module('myapp', [])
.controller('MyController', ['$scope', function($scope) 
//get your data...

//bind your data:
$scope.docs = docs;

从那里,您将它绑定到您的 html,如下所示:

<body ng-app="myapp" ng-controller="MyController">
<span>docs</span>
....

让我知道这是/不是你想要做的。

【讨论】:

以上是关于让 Json 进入网页 Angular 页面的主要内容,如果未能解决你的问题,请参考以下文章

angular学习笔记

用angular引入复杂的json文件

每个页面上的angular2用户状态

在页面刷新时使用 Angular JS ui.router html5Mode(true) 配置 Amazon S3 静态站点

package.json 的开放式对等版本依赖项?

在Angular中更改页面时如何修复yyyy不是功能?