У меня есть следующее поле ввода
<input type="number" ng-model="data.mainOdd1" min="0" step="any" placeholder="#1 Main Odd" onfocus="this.placeholder=''"
aw-limit-length="6" ui-blur="mainInputsChange('mainOdd1', $event, '#1 Main Odd');"
ng-focus="mainOdd1Border = ''; mainOdd2Border = ''; bkOdd1Border = ''; bkOdd2Border = ''; mainOdd1Value = ''; bkOdd1Value = ''; bkOdd2Value = ''; bkOdd3Value = '';"
ng-style="mainOdd1Border">
Он отлично работает в начале и заполнитель установлен правильно
В контроллере я установил следующую функцию
$scope.$on('$ionicView.enter', function() {
$scope.data.mainOdd1 = '',
$scope.data.mainOdd2 = '',
$scope.data.bkOdd1 = '',
$scope.data.bkOdd2 = '',
$scope.data.result = 0,
$scope.data.win = '',
$scope.data.winStake = 0,
$scope.data.backup1 = 0,
$scope.data.return1 = '',
$scope.data.return1Stake = 0,
$scope.data.backup2 = 0,
$scope.data.return2 = '',
$scope.data.return2Stake = 0,
$scope.data.backup3 = 0,
$scope.data.return3 = '',
$scope.data.return3Stake = 0
})
для инициализации переменных в начале.
Случается, что когда я переключаюсь на другое представление и переключаюсь обратно на это, поле пустое без заполнителя.
В любом случае, чтобы это исправить? Я попытался использовать функцию onLoad, но я не уверен, что правильно ее использую
благодаря
Сокращенная версия того, как это можно сделать с угловым.
Я настоятельно рекомендую использовать ng-init; объявите pText1 в вашем контроллере. Если вы делаете это для нескольких входов, я бы создал функции для действий фокуса и размытия, а также карту для предполагаемых значений.
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app>
<input type="number" placeholder="{{pText1}}" ng-init="pText1 = 'Placeholder Text'" ng-focus="pText1 = ''" ng-blur="pText1 = 'Placeholder Text'" />
</div>