我有一个表单,其中包含为每个输入定义了ng-model的输入:
<form>
<input type="date" ng-model="dateFilterInput" id="dateFilter" class="...">
<select class="..." id="authorFilter" ng-model="authorFilterInput">
...
</select>
<input type="text" class="..." id="categoryFilter" ng-model="categoryFilterInput">
</form>
由于我的表格可以动态地进一步输入(使用ng-repeat),我想检查每个输入是否为空动态使用ng-model
我正在为表单中的每个输入执行foreach循环,并使用ng-modal name(string)作为参数调用此函数:
$scope.isEmpty = function(ngModelInput) {
if(modelInput == "" || typeof modelInput == 'undefined') {
//do something if field is empty...
}
};
或
$scope.isEmpty = function(ngModelInput) {
if($scope.modelInput == "" || typeof $scope.modelInput == 'undefined') {
//do something if field is empty...
}
};
但这不起作用,因为ngModelInput是一个字符串。
例如:
想象一下ngModelInput = "dateFilterInput"
如何翻译:
$scope.ngModelInput
(怎么写呢?)
要做到这一点:
$scope.dateFilterInput
希望你明白我的意思^^
感谢您的帮助!
答案 0 :(得分:1)
修改isEmpty函数,如下所示,这应该可以解决您的问题。 不要将ng用作任何变量的前缀,因为ng是一个有角度的保留关键字,它可能会混淆其他开发人员。
import uuid
from django.db import models
class MyUUIDModel(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
# other fields
上面的代码将传递给$scope.isEmpty = function(modelInput) {
if($scope[modelInput] == "" || typeof $scope[modelInput] == 'undefined') {
//do something if field is empty...
}
};
函数的任何参数(字符串),并检查$ scope对象中的特定名称,并根据它给出值。