使用 if 函数显示不同的 uib-alerts ANGULARJS

show different uib-alerts by using a if function ANGULARJS

如何使用从 nodejs 后端获取其变量的 if 函数来显示不同的警报? 我的 html 代表:

<div uib-alert ng-repeat="alert in alerts" type="alert.type" close="closeAlert($index)">{{alert.msg}}</div>

在我的 AngularJS 文件中:

$http.get('/test').then(function(result){

          this.alerts =   function(){
        if(result.test != null){
                  [  { type: 'danger', msg: 'Test is false' }];
        }else{
        [  { type: 'success', msg: 'Test is right' }];
                }
              };  
}

但这不起作用。有人可以帮忙吗?

您的代码无效 JavaScript。如果您在浏览器控制台中查找错误,那将是显而易见的。

有效代码如下:

var test = false;

if (!test) {
    this.alerts = [{type: 'danger', msg: 'Test is false'}];
} else {
    this.alerts = [{type: 'success', msg: 'Test is right'}];
}

编辑:

同样,在您编辑的代码中,它仍然无效 JavaScript。 应该是

var that = this;
$http.get('/test').then(function(response) {
    if (response.data.test != null) {
        that.alerts = [{type: 'danger', msg: 'Test is false'}];
    } else {
        that.alerts = [{type: 'success', msg: 'Test is right'}];
    }
});

你真的、真的、真的需要学习 JavaScript 的基本语法,并在考虑使用 angular 之前缩进你的代码。