ng-show基于数据库的动态条件

时间:2018-01-12 08:18:36

标签: javascript angularjs asp.net-mvc

我们正在制作一些动态表单,用户可以在管理面板中创建问题,并根据其他问题值显示条件。

ng-show="((UserCode==10003 && Name=='Ankur') ||(StateId=='NY'))" 

这可以很好地显示/隐藏基于其他问题值的问题,但条件是动态的,并根据用户在数据库中选择的值创建运行时..我们如何才能添加ng-show条件动态?

我试过这个

$scope.Condition = "((UserCode==10003 && Name=='Ankur') ||(StateId=='NY'))";

ng-show="{{Condition}}"但这没效果。

UserId,Name& StateId是页面上的其他问题。

如果我错过了一些信息,请告诉我。

感谢

3 个答案:

答案 0 :(得分:0)

尝试使用方法:

ng-show="condition()"
$scope.condition =  function() {
    /* You calculate your condition here */
    var condition = ... ;
    return condition;
}

答案 1 :(得分:0)

你知道这是一个字符串,而不是一个会返回true或false的条件。?

$scope.Condition = "((UserCode==10003 && Name=='Ankur') ||(StateId=='NY'))";

这应该是正确的

$scope.Condition = (UserCode==10003 && Name=='Ankur') ||(StateId=='NY');

答案 2 :(得分:0)

$scope.Condition = "((UserCode==10003 && Name=='Ankur') ||(StateId=='NY'))";

这将永远不会起作用,因为它不是返回true或false的函数或条件,

试试这个

$scope.condition = function(_usercode, _name, _state_id){
return (UserCode == _usercode && Name == _name) || (StateId == _state_id);
}

并在html ng-show="condition(10003,'Ankur','NY')"