Атрибут href привязки данных для метки привязки Я пытаюсь привязать атрибуты привязки к полю KnockoutJS ViewModel. Я пробовал что-то вроде этого: <a data-bind="href: Link, value: Title"></a> но это не работает. Где я могу получить список возможных значений привязки данных для элементов html? Ответ 1 Вам нужно использовать привязку attr, это позволяет вам установить любой атрибут, который вам нравится. Например: <a data-bind="attr: { href: Link, title: Title }, text: Title">xxx</a> Ответ 2 Здесь вы можете найти список всех возможных привязок. http://knockoutjs.com/documentation/value-binding.html с левой стороны (боковая панель) вы найдете ссылки на другие привязки, такие как текст, стиль attr и т.д. Вы можете сделать это attr: { href: Link}, text: Title как xwrs прокомментировал или создать шаблон http://knockoutjs.com/documentation/template-binding.html надеюсь, что это поможет Ответ 3 В качестве альтернативы @RichardFriend answer (и более часто используемая опция) вы можете написать собственный обработчик привязки, чтобы сделать ваши взгляды более короткими: ko.bindingHandlers['href'] = { update: function(element, valueAccessor) { element.href = ko.utils.unwrapObservable(valueAccessor()); } }; ko.applyBindings({ myUrl: 'http://stackoverflow.com', myText: 'Qaru website' }); <script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script> <a data-bind="href: myUrl, text: myText"></a>
Ответ 1 Вам нужно использовать привязку attr, это позволяет вам установить любой атрибут, который вам нравится. Например: <a data-bind="attr: { href: Link, title: Title }, text: Title">xxx</a>
Ответ 2 Здесь вы можете найти список всех возможных привязок. http://knockoutjs.com/documentation/value-binding.html с левой стороны (боковая панель) вы найдете ссылки на другие привязки, такие как текст, стиль attr и т.д. Вы можете сделать это attr: { href: Link}, text: Title как xwrs прокомментировал или создать шаблон http://knockoutjs.com/documentation/template-binding.html надеюсь, что это поможет
Ответ 3 В качестве альтернативы @RichardFriend answer (и более часто используемая опция) вы можете написать собственный обработчик привязки, чтобы сделать ваши взгляды более короткими: ko.bindingHandlers['href'] = { update: function(element, valueAccessor) { element.href = ko.utils.unwrapObservable(valueAccessor()); } }; ko.applyBindings({ myUrl: 'http://stackoverflow.com', myText: 'Qaru website' }); <script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script> <a data-bind="href: myUrl, text: myText"></a>