我正在寫一個指令來幫助驗證字段。它正在努力保存驗證結果。從循環創建多個級別的json
我想將它保存在一個物體像error.password.old
代碼來做到這一點是這樣的:
if(!(typeof iAttrs.ngModel == "undefined"))
{
var model = iAttrs.ngModel.split('.');
var length = model.length;
var target = scope.error;
if(typeof validation[iAttrs.validate] == "function")
{
for(var index = 0; index < length; index++)
{
target = target[model[index]];
}
target = validation[iAttrs.validate]();
scope.$apply();
}
else throw("function " + iAttrs.validate + " does not exist.");
}
iAttrs.ngModel是持有 「password.old」。
目前谷歌拋出:
Uncaught TypeError: Cannot read property 'old' of undefined
這是在for循環的第二次迭代拋出。
我知道它是未定義的,但我需要找到一種方法來定義它,而不用正常的{}符號。
此行是混淆了我:'目標=目標[模型[指數];'。你每次用'target'的一部分通過循環覆蓋'target'? – lbstr
我會看看核心表單/ ng-form/ng-model系統:http://docs.angularjs.org/api/ng.directive:form因爲已經有了驗證,它肯定是可擴展的。 – Guillaume86