Как расширить наблюдаемые нокауты для чтения значения по умолчанию из привязки?

Наконец-то я нашел время, чтобы начать изучать KnockoutJS при создании нового приложения MVC4. Я пытаюсь найти лучший способ инициализировать наблюдаемое значение из значения по умолчанию, которое уже установлено в представлении.

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

<input type="hidden" 
       value="@Model.SomeValue"
       data-bind="value: myObservableReference"/>

Я знаю, что значение по умолчанию обычно инициализируется через:

model.myObservableReference = ko.obervable("SomeValue");

Однако я хотел бы найти способ расширить инициализацию так, чтобы:

model.myObservableReference = ko.obervable();

будет считывать существующее значение из привязки, если значение существует.

Поскольку мне до сих пор удавалось держать свой код KnockoutJS в полном неведении о мире бритв, я хочу избежать неряшливости:

model.myObservableReference = ko.obervable(@Model.SomeValue);

Я предполагаю, что это будет обрабатываться либо с помощью расширителя, либо с помощью пользовательского связывателя, но если кто-то может указать мне правильное направление, это будет очень признательно.

17
задан cwallenpoole 22 May 2013 в 20:38
поделиться