以下是我们通常在twitter boostrap表单中看到的代码段:
<div class="control-group">
<label class="control-label" for="email">Enter Email</label>
<div class="controls">
<input type="email" name="email" ng-model="member.email" required >
</div>
</div>
在表单代码中有很多字段会变得非常嘈杂,所以我想在我的Angular驱动的html中使用这样的东西:
<formy label-for="email" label-text="Enter Email">
<input type="email" name="email" ng-model="member.email" required >
</formy>
这可以通过Angular中的指令来完成吗?
答案 0 :(得分:3)
是的,可以做到
app.directive('formy', function() {
return {
restrict: 'E',
transclude: true,
scope: {
labelText: "@",
labelFor: '@'
},
template : '<div class="control-group">' +
'<label for="{{labelFor}}" class="control-label">{{labelText}}</label>' +
'<div class="controls" ng-transclude></div>' +
'</div>',
replace: true
};
})
演示:Plunker