如何更改控制器中的范围数据?

时间:2014-06-09 09:20:54

标签: javascript angularjs angularjs-scope

我是角色的真正新手。我现在创建了一些东西,它可以让我通过角度检索和添加项目,并将它们放入mongodb中。我在应用程序中使用express和mongoose

问题是,如何在数据到达控制器中的DOM之前修改数据。在这个例子中,我已经创建了一种检索数据的方法,并且我完全得到了它存储在mongodb中的方法。我想要的是我在数据库中存储1或0的字段,以文本形式显示。因此,如果mongo的值为1,则得到" mongo中的值为1"当字段的值为0时,得到"值为零"。 (仅作为一个例子,我喜欢其他文本,但它说明了我想要的东西)

我发布了我的控制器,html和当前输出。任何帮助,将不胜感激。

控制器

function getGuests($scope, $http) {
    $scope.formData = {};
    $http.get('/api/guests')
        .success(function(data) {
            $scope.x = data;

        })
        .error(function(data) {
            console.log('Error: ' + data);
        }); 

}

HTML

<div ng-controller="getGuests">
    <div ng-repeat="guest in x">
        {{ guest.voornaam }} {{ guest.aanwezig }}
    </div>
</div>

当前作用域输出,我在HTML中看到的。我只想改变&#34; aanwezig&#34;的价值。如果aanwezig的值为0或1.这可以是事物的计算,也可以根据值放置一个字符串。

firstname1 1
firstname2 0

还有别的东西,但是学习起来会很棒,我是如何通过按下按钮来完成特定的mongodb查询并得到结果的。

1 个答案:

答案 0 :(得分:0)

您可以创建自定义过滤器,如:

.filter('formatAanwezig ', function() {
  return function(aanwezig ) {
  switch(aanwezig ) {
    case 0:
        return 'format0'
        break;
    case 1:
       return 'format1'
        break;
    default:
       return aanwezig 
} 
  }
})

和HTML

<div ng-controller="getGuests">
    <div ng-repeat="guest in x">
        {{ guest.voornaam }} {{ guest.aanwezig | formatAanwezig  }}
    </div>
</div>