0
这一切
首先是我的plunker:https://plnkr.co/edit/JbG6vlSbeWrBcmYhmhF1?p=preview试图与角1.4.9定制指令,但坚持了链接功能
我试图让指令添加浮动标签如本example任何输入领域。
例如我有以下输入字段:
<input floating-label placeholder="Better field" type="text" class="form-control" ng-model="floatingDirective"/>
floating-label
应该以这样的方式工作,这将扩大到下面的代码:
<div class="field">
<label ng-show="betterField" class="show-hide">Better field</label>
<input type="text" class="form-control" ng-model="betterField" placeholder="Better field"/>
</div>
我不能做到这一点,这是我的指令,目前为止:
.directive('floatingLabel', function ($compile) {
return {
restrict: 'A',
require: 'ngModel',
scope: {
ngModel: '='
},
link: function(scope, element, attrs, ctrl, transclude) {
var wrapper = '<div class="field">' +
'</div>';
element.after($compile('<label ng-show="' + attrs.ngModel + '" class="show-hide">' + attrs.placeholder + '</label>')(scope));
element.wrap(wrapper);
}
}}
)
无法实现如何组合wrap
,prepend
和append
以获得所需结构以及如何使ng-show
与ng-model
一起使用的值。
预先感谢您。
其实你的解决方案的工作,我想过这个问题,但我想这样做的一种我想要的方式,否则我们的团队应该做很多工作来替换所有的输入字段,另外还需要另外一个表单元素来做另一个指令。如果没有人会再提供,我会在几天内接受你的回答。 – Anatoly