Angularjs 如何使用生成标记指令的ng模型使绑定工作?
我正在创建一个指令,根据输入的类型动态生成标记。 但在这种情况下,我无法使Angularjs 如何使用生成标记指令的ng模型使绑定工作?,angularjs,Angularjs,我正在创建一个指令,根据输入的类型动态生成标记。 但在这种情况下,我无法使ng模型工作 1) HTML:ng repeatrepeat自定义标记并绑定数据(自定义标记可以是输入或选择) {{item.title} {{data}/{“name”:“0”,“number”:“0”,“contact”:“0”,“type”:“0”,“id”:8}您可以将ngModel作为附加绑定传递: .directive('customTag', function($compile, $parse) {
ng模型
工作
1) HTML:ng repeat
repeat自定义标记
并绑定数据
(自定义标记可以是输入
或选择
)
{{item.title}
{{data}/{“name”:“0”,“number”:“0”,“contact”:“0”,“type”:“0”,“id”:8}
您可以将ngModel作为附加绑定传递:
.directive('customTag', function($compile, $parse) {
return {
scope: {
model: '=ngModel',
type: "@"
},
require: 'ngModel',
restrict: 'E',
replace: true,
link: function($scope, el, attr, ngModel) {
var input = angular.element('<input type="text" ng-model="model" />');
var linkFn = $compile(input);
var content = linkFn($scope);
el.replaceWith(content);
}
}
});
指令('customTag',函数($compile,$parse){
返回{
范围:{
型号:'=ngModel',
类型:“@”
},
要求:'ngModel',
限制:'E',
替换:正确,
链接:功能($scope、el、attr、ngModel){
变量输入=角度元素(“”);
var linkFn=$compile(输入);
var内容=链接fn($scope);
el.替换为(内容);
}
}
});
确保插入类型,此处不需要双向绑定:
<custom-tag type="{{item.type}}" ng-model="data[key]"></custom-tag>
我已经用另一种方式做了。但是你的版本更简单和有用:)非常感谢!