2017-01-03 2 views
1

Я пытаюсь инициализировать ng-модель с помощью пользовательского ng-init. Но это не отображает значение на странице html.Инициализировать ng модель в вводе углового материала

<md-input-container class="md-block"> 
    <input disabled="" ng-model="ctrl.userDetail.AccountLockStatus" ng-init="ctrl.userDetail.AccountLockStatus = (ctrl.userDetail.AccountStatus === 'Y')?'Locked':'Not Locked'"> 
</md-input-container> 
+0

работает нормально для меня, http://jsfiddle.net/2f6qscrp/220/. Если вы откроете консоль своего браузера, получаете ли вы какие-либо ошибки? – Fissio

+0

@Fissio Я использую угловой 1.5, поэтому я не использую .controller. Я использую его как компонент, а затем отрисовку HTML как это - var app = angular.module ('home'); app.component ('Userprofile', { \t \t шаблона: требуется ('./ пользовательский profile.component.html '), \t \t controllerAs: 'Ctrl', \t \t контроллера: [' $' объем , '$ rootScope', контроллер] \t}); \t function controller ($ scope, $ rootScope) { } –

ответ

0

Вы могли бы используйте md-switch или md-checkbox для это. Они обеспечивают настройки ng-true-value и ng-false-value.

<md-switch ng-model="ctrl.userDetail.AccountStatus" ng-true-value="'Y'" ng-false-value="'N'"> 
    Account Lock Status 
</md-switch> 

https://material.angularjs.org/latest/api/directive/mdSwitch

+0

Это из примеров, если он не работает, вы должны предоставить пример codepen или что-то в этом роде. – kuhnroyal

0

Вы можете попробовать этот путь в controller:

$scope.init = function() { 
    if($scope.userDetail.AccountLockStatus === 'Y') { 
    $scope.userDetail.AccountLockStatus = 'Locked' 
    }else { 
    $scope.userDetail.AccountLockStatus = 'Not Locked' 
    } 
} 

$scope.init(); 

В шаблоне:

<md-input-container class="md-block"> 
    <input disabled="" ng-model="ctrl.userDetail.AccountLockStatus"> 
</md-input-container> 

Не делать условную ng-init, эта ссылка: ng-init assign values conditionally

Смежные вопросы