【问题标题】:Knockout ObservableArray淘汰 ObservableArray
【发布时间】:2017-10-23 19:20:56
【问题描述】:

我知道淘汰赛并且有一个关于如何进行一些条件绑定的问题。我有一个下拉输入,根据选择的选项显示和隐藏其他输入。我有这个工作,但是当我在页面之前已经发布之后加载页面时遇到问题。我能够获取先前选择和发布的下拉输入,但不会触发其他输入发生的绑定(显示和隐藏)。请看下面:

<script>
function ViewModel() {
  this.selectedPet = ko.observable();
  var petArray = ["Dog", "Cat", "Fish"];
  this.petOptions = ko.observableArray(petArray);
};
ko.applyBindings(new ViewModel);
</script>


<form>
  <select data-bind="options: petOptions, value: selectedPet" asp-for="Pets">
  </select>

  <input data-bind="visible: petOptions() === "Dog" asp-for="DogFood" />
  <input data-bind="visible: petOptions() === "Cat" asp-for="CatFood" />
  <input data-bind="visible: petOptions() === "Fish" asp-for="FishFood" />
</form>

【问题讨论】:

    标签: asp.net knockout.js


    【解决方案1】:

    我知道我需要做什么。我需要将初始可观察值设置为发布的值。

    var onLoadPet = "@Model.Pet.Value";
    function ViewModel() {
      this.selectedPet = ko.observable(onLoadPet);
    }
    

    【讨论】:

      猜你喜欢
      • 2014-10-28
      • 2012-10-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-29
      • 2013-04-09
      相关资源
      最近更新 更多