淘汰if和文本绑定



我正试图在Knockout(3.3.0(中创建一个简单的组件:

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

见小提琴。

现在,当我在其他地方实例化<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.

这真的不可能吗?如果你问我的话,这将是最基本的功能。我知道我可以使用<!-- ko text -->,但同时设置srcif等其他属性呢?

好的,我找到了(或者至少有一种可能的(解决方案:使用<!-- ko if --><!-- /ko -->。这样,模板可以像一样编写

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

我仍然不认为这是完美的,在Vue,我只会做<span v-if='1'>{{text}}</span>bam done,但我想不是这个世界上的一切都能像Vue那样棒。。。

相关内容

  • 没有找到相关文章