【发布时间】:2014-05-28 08:58:57
【问题描述】:
我正在尝试实现一个为表单实现复杂输入类型的指令。为此,必须相应地设置 ng-model(用于绑定值)和 name(用于注册到表单以进行验证)。 虽然 ng-model 可以正常工作,但我找不到动态设置名称的方法。
.directive('myDirective', function() {
return {
template: '<div class="morestuff"><input name="{{name}}" ng-model="ngModel"></div>',
restrict: 'E',
replace: true,
scope: {
name: '=',
ngModel: '='
}
};
当我在我的表单中使用它时
<form name="myform">
<input type="text" ng-model="value1" name="name1">
<my-directive name="name2" ng-model="value2"></my-directive>
</form>
它会在 myform 中生成三个条目:
{
"name1": {},
"{{name}}": {},
"name2": {}
}
所以我的问题:
- 如何实现所需的行为?
- 为什么有来自 my-directive 元素的条目?不应该因为 replace: true 而被删除吗?
【问题讨论】:
-
看看我对这个类似问题的回答stackoverflow.com/questions/21455695/…
-
这对我来说很好用...jsfiddle.net/ncapito/74E3L 你能分叉这个来显示什么问题吗? (也许你是如何输出你的条目的)。
-
@nix:抱歉,我忘记了我的 plunker 的链接,刚刚添加。
标签: forms angularjs angularjs-directive