Как отобразить / отредактировать одно значение в нескольких частях в директиве angularjs? - PullRequest
0 голосов
/ 09 ноября 2018

Я новичок в angular.js, сейчас пытаюсь создать директиву, состоящую из двух частей:

<div class="timeSpanInput">
    <input type="number" class="timeSpanInputValue" min="1" ng-model="timeSpanInput.value">
    <select class="timeSpanInputUnit" 
        ng-model="timeSpanInput.unit"
        ng-options="timeUnit.longValue as timeUnit.label for timeUnit in timeSpanInput.timeUnits">
    </select>    
<div>

И моя модель данных представляет собой одно длинное значение в миллисекундах, я планирую использовать его следующим образом:

<time-span-input name="time_bucket" model="data.time_bucket"/>

Я могу использовать $ watch или getterSetter для изменения data.time_bucket, но как мне установить исходные данные с помощью данного data.time_bucket для двух полей?

if (this.timeSpan % timeUnits.day.longValue == 0){
    this.unit = timeUnits.day.longValue;
} else if (this.timeSpan % timeUnits.hour.longValue == 0){
    this.unit = timeUnits.hour.longValue;
} else {
    this.unit = timeUnits.minute.longValue;
}
this.value = this.timeSpan / this.unit;

Есть предложения?

...