Задать вопрос
@disturbeddancer

AngularJS component не обновляются модели в template, где я ошибся?

app.component('edit', {
    bindings: {
       password: '='
     },
    controller: function (dateFormat,getCurrentManager) {
        this.dateOptions = {
            dateFormat: "yy-mm-dd",
            firstDay: 1
        };
        
        this.when = "";
        this.name = "";
        this.number = "";
        this.flag = false;
       function onDataChange(date){
            var dt = {
                date : dateFormat(date)
            };
           getCurrentManager(dt).then(function(d){
               this.name = d.data[0].name;
               this.number = d.data[0].number;
            });

        }
        var secret = "8f1f44ab1c67cfef3f35db355a200444";
        function check() {
            if (md5(this.password) == secret) {
                this.flag = true;
            }
        }
        function update($http){

        }
        this.onDataChange = onDataChange;
        this.check = check;
    },
    template: [
        '<div>',
        'Введите пароль для редактирования списка <input type="text" ng-model="$ctrl.password">',
        '<button type="button" ng-click="$ctrl.check()">Редактировать</button>',
        '<div ng-if="$ctrl.flag">',
        'Введите число <input class="frm form-control" ui-date="$ctrl.dateOptions" type="text" ng-model="$ctrl.when" ng-change="$ctrl.onDataChange($ctrl.when)">',
        'Введите номер <input class="frm form-control"  ng-model="$ctrl.number">',
        'Введите имя <input class="frm form-control" type="text" ng-model="$ctrl.name">',
        '<button type="submit" class = "btn btn-danger" ng-click="$ctrl.send()">Отправить данные</button> ',
        '</div>',
        '</div>'
    ].join('')
});


С компонентами никогда не работал до этого. При вызове onDataChange() из базы данных фабрикой забираются значения name и number, но во view отображаемые значения
'Введите номер <input class="frm form-control"  ng-model="$ctrl.number">',
 'Введите имя <input class="frm form-control" type="text" ng-model="$ctrl.name">',

не меняются. Где я ошибся, не могу понять.
  • Вопрос задан
  • 255 просмотров
Подписаться 2 Оценить 1 комментарий
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы