Angularjs 使用angular formly时动态添加指令
在与自定义模板一起使用时,添加一些指令(例如有条件地添加到表单的输入元素)的最佳方法是什么 我想这样使用它:Angularjs 使用angular formly时动态添加指令,angularjs,angular-formly,Angularjs,Angular Formly,在与自定义模板一起使用时,添加一些指令(例如有条件地添加到表单的输入元素)的最佳方法是什么 我想这样使用它: $scope.formFields=[ { 关键字:“电子邮件”, 键入:“输入”, 模板选项:{ 键入:“电子邮件”, 占位符:“您的电子邮件地址”, 要求:正确, focusIf:“某些表达式”/您可以使用ngModelAttrs将angular形式的属性与ng focus if属性或任何其他自定义属性组合在一起 在您的情况下,您的代码应该如下所示: $scope.formFiel
$scope.formFields=[
{
关键字:“电子邮件”,
键入:“输入”,
模板选项:{
键入:“电子邮件”,
占位符:“您的电子邮件地址”,
要求:正确,
focusIf:“某些表达式”/您可以使用ngModelAttrs将angular形式的属性与ng focus if属性或任何其他自定义属性组合在一起
在您的情况下,您的代码应该如下所示:
$scope.formFields = [ {
key: 'email',
type: 'input',
ngModelAttrs: {
focusIf: {
attribute: 'focus-if' //directive declaration
}
},
templateOptions: {
type: 'email',
placeholder: 'Your E-Mail address',
focusIf: '', //directive default value
required: true
}
}]
这是一个可以帮助你的方法:多亏了@kentcdoffics和@aitnaser,我终于找到了实现所需行为的方法
只是想在这里分享扩展版本
其思想是在定义类型时使用属性:
formlyConfigProvider.setType({
名称:'输入',
模板:“”,
默认选项:{
ngModelAttrs:{
重点F:{
属性:“聚焦如果”
}
}
}
});
确保不要为焦点f
提供默认值。这将阻止在默认情况下在输入元素上添加指令
然后在字段上设置所需的表达式:
$scope.formFields=[
{
关键字:“电子邮件”,
键入:“输入”,
模板选项:{
键入:“电子邮件”,
要求:正确,
占位符:“电子邮件”,
focusIf:'true'//或任何其他角度表达式
}
}
];
您可以随意使用它。您可能想了解一下。它有点复杂,但是通过定义一个自定义类型,将其定义为默认选项,您可以完成您所寻找的内容。看看这个示例。您好,Kent!感谢您将我推向正确的方向!只想告诉您Formly确实很棒,而且非常灵活e、 我喜欢Angular,但表单对我来说一直是一个巨大的痛苦,现在一切都解决了,多亏了你。我用我的ngFocusIf集成创建了一个JSBin,可以根据你的需要自由编辑它,并将其添加到示例列表中。干杯!