Я столкнулся с проблемой, связанной с поведением mdl-textfield
.
На приведенном ниже plnkr выполните следующие действия:
- нажмите "группы работают"
- нажмите "копировать" на одном элементе
- посмотрите в самом конце появилось новое текстовое поле со связанным ngModel (angular.copy), но поведение текстового поля странное, даже если есть значение, метка не плавает, но если щелкнуть текстовое поле, оно плавает, как и ожидалось . Если вы измените поле, поведение останется, но если вы выйдете из него без каких-либо изменений, метка вернется с наложением.
http://plnkr.co/edit/MUI2iBslIH9jd4fgEQPL?p=preview
ngView
содержание
<div data-ng-controller="MainCtrl">
<section data-ng-repeat="fo in foo">
<div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
<input class="mdl-textfield__input" type="text" id="sample1" data-ng-model="fo.bar"/>
<label class="mdl-textfield__label" for="sample1">{{fo.bar}}</label>
<span ng-if="$last" ng-init="update()"></span>
</div>
<button ng-click="focopy(fo)">Copy</button>
</section>
<div data-ng-show="datacopy.edit" class="input-field">
<input type="text" id="ex1" data-ng-model="datacopy.bar" />
<label for="ex1">label</label>
</div>
</div>
Угловой модуль
var app=angular.module('plunker', ['ngRoute'])
app.config(function($routeProvider){
$routeProvider
//Root URL
.when('/',{template:'<p>Coucou</p>'})
.when('/groups',{templateUrl:'groups.html'})
.when('/groupsnotworking',{templateUrl:'groupsnotworking.html'})
});
app.controller('MainCtrl', function($scope,$timeout) {
$scope.foo = [
{bar: 'world'},{bar:'toto'},{bar:'toto'}
];
$scope.groups=$timeout(function(){
$scope.groups=$scope.foo
},1000);
$scope.update=function(){
componentHandler.upgradeAllRegistered();
};
$scope.datacopy={};
$scope.focopy=function(data){
$scope.datacopy=angular.copy(data);
$scope.datacopy.edit=true;
};
});
Надеюсь, это достаточно ясно. Я пытался опубликовать это на github облегченного дизайна материалов, думая, что это ошибка, но меня выгнали здесь... Спасибо.