我在 Angularjs Controller 中的代码如下:
$scope.validElements = [
{
"id": "One",
},
{
"id": "Two",
},
{
"id": "Three",
},
{
"id": "Four",
}
];
如何使 validElements 根据条件而有所不同
( if(someService.someElement == "ABC") )
then
$scope.validElements = [
{
"id": "One",
},
{
"id": "Three",
}
];
否则
$scope.validElements = [
{
"id": "One",
},
{
"id": "Two",
},
{
"id": "Three",
},
{
"id": "Four",
}
];
如果可能,请提供建议或任何粗略的想法如何完成
最佳答案
您似乎想创建另一个作用域变量并将其设置为等于 someService,然后在 someSome 元素上放置一个监视。然后您可以在监视函数中处理条件。我这样做是为了观察服务变量
$scope.validElements = [ // set default here
{
"id": "One",
} // ...
];
$scope.someService = someService;
$scope.$watch('someService.someElement', function(newValue, oldValue) {
// or a switch statment
if(newValue == 'ABC'){
$scope.validElements = [
{
"id": "One",
},
{
"id": "Three",
}
];
}else{
// handle else condition
$scope.validElements = [
{
"id": "One",
},
{
"id": "Two",
},
{
"id": "Three",
},
{
"id": "Four",
}
];
}
});
希望这有帮助!祝你好运
关于javascript - 如何根据 Angularjs 中的某些条件在 Controller 中创建作用域变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29137178/