Knockout JS不一致参数传递

时间:2016-10-14 15:00:17

标签: javascript knockout.js data-binding

我将参数传递给Knockout JS中的组件并遇到了这种行为。这是为了吗?

当我根据对具有observable的表达式的条件检查传递testParam1时,它返回被包装为计算的可观察函数而不是值的参数。

但是,对于没有任何可观察的表达式的条件检查,它可以正常工作。



ko.components.register('parent', {
  viewModel: function(params) {
    this.test = ko.observable(true);
    ko.components.register('child', {
      viewModel: function(params) {
        console.log('testParam1:',params.testParam1);
        console.log('testParam2:',params.testParam2);
      },
      template: '<div>Child Component</div>'
    });
  },
  template: '<div>Parent Component</div><child params="testParam1: test() ? \'y\' : \'n\', testParam2: 1 ? \'y\' : \'n\'"></child>'
});

ko.applyBindings();
&#13;
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script>
<parent></parent>
&#13;
&#13;
&#13;

0 个答案:

没有答案