我怎样才能解决问题,以便AngularJS填充页面?

时间:2014-04-03 16:08:01

标签: javascript angularjs scope controllers

我有些东西应该显示很多没有显示任何数据的数据。

在我的HTML中,我有:

<div ng-controller='OutputController'>
    <div ng-repeat='user in data.users'>
        <div ng-repeat='monologue in data.monologues[user]'>
            <span class='text' ng-bind='monologue.text'></span>
            <span class='timestamp' ng-bind='new Date(monologue.timestamp).toLocaleString()'></span>
        </div>
    </div>

在我的JavaScript中我有:

var repeatEr = function(data, status, headers, config)
{
    var interval = 1000;
    angular.extend($scope, data);

在发送到我的页面的数据中,我有:

{"monologues": {"jonathan.hayward@pobox.com": [["False", 0.0], ["False", 0.0], ["False", 0.0], ["False", 0.0], ["False", 0.0], ["False", 0.0], ["False", 0.0], ["False", 0.0], ... }, "users": ["jonathan.hayward@pobox.com"]}

正在发生的是它显示空结果。

我打算做的是拉动它所拉的Ajax数据,然后在连续的DIV中显示文本(&#34; False&#34;这里)和时间戳。 (但我现在没有关注时间戳,只关注文本。)

鉴于我拥有的数据,我应该如何处理转发器,以便相应地显示结果?

- 或 -

鉴于我拥有的中继器,我应该将其作为数据填充,以便中继器能够满足他们的需求?

谢谢,

2 个答案:

答案 0 :(得分:0)

ng-repeat期望您将迭代一个数组。您的data.monologues是一个复杂的对象,因此它没有显示任何数据。

为了使你的代码有效,你需要让你的data.monologues成为一个复杂对象的数组。

      [{"monologues": {... etc etc ...}}]

答案 1 :(得分:0)

我有:

<div ng-controller='OutputController'>
    <div ng-repeat='user in data.users'>
        <div ng-repeat='monologue in data.monologues[user]'>
            <span class='text' ng-bind='monologue.text'></span>
            <span class='timestamp' ng-bind='new Date(monologue.timestamp).toLocaleString()'></span>
        </div>
    </div>

问题是&#39; 数据。&#39; - 它的效果更好:

<div ng-controller='OutputController'>
    <div ng-repeat='user in users'>
        <div ng-repeat='monologue in monologues[user]'>
            <span class='text' ng-bind='monologue.text'></span>
            <span class='timestamp' ng-bind='new Date(monologue.timestamp).toLocaleString()'></span>
        </div>
    </div>