我正试图在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 -->
,但同时设置src
和if
等其他属性呢?
好的,我找到了(或者至少有一种可能的(解决方案:使用<!-- ko if --><!-- /ko -->
。这样,模板可以像一样编写
<!-- ko if: 1-->
<span data-bind='text: test'></span>
<!-- /ko -->
我仍然不认为这是完美的,在Vue,我只会做<span v-if='1'>{{text}}</span>
bam done,但我想不是这个世界上的一切都能像Vue那样棒。。。