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">',
не меняются. Где я ошибся, не могу понять.