Я хочу создать директиву, которая создает автоматически сгенерированную ngModel для каждого поля ввода и под каждым полем ввода a, которое имеет ng-привязку к ngModel элемента выше, поэтому вот директива что я сделал до сих порДинамический ngModel и ngBind с пользовательской директивой
app.directive('cmsInput', function() {
return {
restrict: 'E',
compile: function(element, attrs)
{
var type = attrs.type || 'text';
var required = attrs.hasOwnProperty('required') ? "required='required'" : "";
var htmlText = '<div class="form-group" ng-controller="DashboardController">' +
'<label class="col-sm-2 control-label" for="' + attrs.formId + '">' + attrs.label + '</label>' +
'<div class="col-sm-10">' +
'<input ng-model="content.'+attrs.formId +'" type="' + type + '" class="form-control" id="' + attrs.formId + '" name="' + attrs.formId + '" ' + required + '>' +
'<span ng-bind="content.'+attrs.formId+'"></span></div>' +
'</div>';
element.replaceWith(htmlText);
}
}
})
так это direcive дает мне входные элементы, но ngBind не работает.
вот это HTML
<!doctype html>
<html lang="en">
<head>
<title>Test Title</title>
</head>
<body>
<cms-input label="Email address" form-id="emailAddress" type="email" required /></cms-input>
<cms-input label="Name" form-id="name" type="text"/></cms-input>
<cms-input label="Header" form-id="header" type="text"/></cms-input>
<cms-input label="Password" form-id="password" type="password"/></cms-input>
</body>
</html>
Вы уверены, что ng-model отлично работает? – Ba5t14n
Не уверен, действительно, как я могу проверить его в этом случае? – ziz194
Возможно, вы могли бы добавить кнопку, которая вызывает функцию в вашем контроллере, которая регистрирует или предупреждает эту переменную. В качестве параметра вы можете дать 'attrs.formId', который затем выглядит (в массиве или что-то еще - Ok, я вижу, что у вас есть объекты, должен работать с' $ scope.content [id] ', когда' id' является вашим 'attrs .formId' отправлено с кнопки). Тогда вы можете проверить, действительно ли значение действительно – Ba5t14n