我正在尝试将模型数据从控制器绑定到指令模板。指令模板基于来自控制器的表单对象重复表单输入类型。
目标是在多个位置使用此伪指令,并将适当的模型绑定到表单,而不是每次都创建表单。
我找到了使用包含范围和隔离范围的示例,但是,我遇到的每个示例似乎都对模型属性进行了硬编码。
这是一个jsfiddle,希望可以更好地解释我要实现的目标。
app.controller('FormCtrl',function($scope) {
$scope.form = [
{label:'First',type:'text',name:'first_name'},
{label:'Last',type:'text',name:'last_name'}
];
$scope.person = {first_name:'Jimmy',last_name:'Page'};
});
app.directive('formelements',function() {
return {
restrict: 'E',
scope:false,
template: '<div ng-repeat="elements in form"><input type="text" ng-model="field.name"></div>'
}
});
谢谢你的帮助。
您可以使用以下内容作为模板:
template: '<div ng-repeat="element in form">' +
'<input type="text" ng-model="person[element.name]"></div>'
小提琴:http://jsfiddle.net/g5Mzs/
本质上,该name
字段用于定义person
对象内部的索引。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句