0
.directive('aaValMsgFor', ['aaFormExtensions', 'aaUtils', function (aaFormExtensions, aaUtils) {
//generate the validation message for a particular form field here
return {
require: ['^form'],
priority: 1,
scope: true,
link: function ($scope, element, attrs) {
var fullFieldPath = attrs.aaValMsgFor;
var fieldInForm, formObj;
var innerScope = $scope;
while ((!fieldInForm || !formObj) && innerScope) {
fieldInForm = innerScope.$eval(fullFieldPath);
formObj = innerScope.$eval(fullFieldPath.substring(0, fullFieldPath.indexOf('.')));
if ((!fieldInForm || !formObj)) {
innerScope = innerScope.$parent;
}
}
innerScope.$eval(fullFieldPath);
私はいつも未定義です。
fullFieldPath
がmodel.nameであるかどうかを確認する方法はありますか?スコープ内のすべての式をチェックして、わかっているのですか?私が正しい方法でいるかどうか
EDIT:
私もやる前に:要素には名前がある
$compile(element)(scope);
と:model.name
が、後にinnerScopeの$ evalが動作しませんが...