нокаут если и привязка текста - PullRequest
0 голосов
/ 07 марта 2020

Я пытаюсь создать простой компонент в Knockout (3.3.0):

ko.components.register('test', {
    viewModel: function() {
        this.test = 'hello'
    },
    template:
        `<span data-bind='if: 1, text: test'></span>`
});
ko.applyBindings();

См. fiddle .

Теперь, когда я создаю экземпляр <test></test> где-то еще, я получаю ошибку:

Multiple bindings (if and text) are trying to control descendant bindings of the same element. You cannot use these bindings together on the same element.

Это действительно невозможно? Это было бы похоже на основную c функциональность, которую можно включить, если вы спросите меня. Я знаю, что могу использовать <!-- ko text -->, но как насчет установки других атрибутов, таких как src и одновременного использования if?

1 Ответ

0 голосов
/ 07 марта 2020

ОК. Я нашел (или, по крайней мере, одно возможное) решение: используйте <!-- ko if --><!-- /ko -->. Таким образом, шаблон может быть написан как

<!-- ko if: 1-->
<span data-bind='text: test'></span>
<!-- /ko -->

Я все еще не думаю, что он идеален, в Vue Я бы просто сделал <span v-if='1'>{{text}}</span> БАМ, но я думаю, что не все в этом мире может быть таким же классным как Vue ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...