Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在KnockoutJS中,绑定正在清除我的DOM_Javascript_Asp.net Mvc_Knockout.js - Fatal编程技术网

Javascript 在KnockoutJS中,绑定正在清除我的DOM

Javascript 在KnockoutJS中,绑定正在清除我的DOM,javascript,asp.net-mvc,knockout.js,Javascript,Asp.net Mvc,Knockout.js,我有一个相当复杂的ViewModel,其中包含以下子ViewModels: define('budgetCalculatorViewModel', ['knockout', 'jquery', 'dependantsBankResidenceViewModel', 'employmentViewModel', 'incomeViewModel', 'expenditureViewModel', 'priorityDebtViewModel', 'courtOrderCreditDebtCon

我有一个相当复杂的ViewModel,其中包含以下子ViewModels:

define('budgetCalculatorViewModel',
  ['knockout', 'jquery', 'dependantsBankResidenceViewModel', 'employmentViewModel', 'incomeViewModel', 'expenditureViewModel', 'priorityDebtViewModel', 'courtOrderCreditDebtContainerViewModel', 'frequencyValues'],
  function (ko, $, dependantsBankResidenceViewModel, employmentViewModel, incomeViewModel, expenditureViewModel, priorityDebtViewModel, courtOrderCreditDebtContainerViewModel, frequencyValues) {
    function budgetCalculatorViewModel() {
      var self = this;

      self.employment = new employmentViewModel();
      self.dependants = new dependantsBankResidenceViewModel();
      self.income = new incomeViewModel();
      self.expenditure = new expenditureViewModel();
      self.priorityDebts = new priorityDebtViewModel();
      self.courtOrders = new courtOrderCreditDebtContainerViewModel();
      self.frequencyValues = ko.observableArray(frequencyValues);
      self.index = ko.observable(0);
    }

    return budgetCalculatorViewModel;
  });
将绑定到所有这些视图模型的HTML位于一个视图文件中(
.cshtml
,因为我在ASP.NETMVC中工作)

在我看来,我正在这样做:

<div class="tab-content transparent">
  <div class="tab-pane active" id="tab1">
    <div class="row">
      <div class="col-md-12 block employment" data-bind="with: self.employment">
        <div class="block-title">
          <h3>Your <strong>Employment</strong></h3>
          <hr />
        </div>

        <div class="checkbox">
          <label>
            <input type="checkbox" data-bind="checked: self.isEmployed" /> Are you employed?
          </label>
        </div>

        <!-- other markup taken off -->

      </div><!-- .col-md-12 .block .employment -->
    </div><!-- .row -->
  </div><!-- .tab-pane -->
</div><!-- .tab-content -->

你的工作

你有工作吗?
但这不管用!当页面加载到Chrome中时,绑定后的所有内容都会从DOM中丢失!这是一张截图


我遗漏了什么?

假设您最终绑定到
budgetCalculatorViewModel
的一个实例,您不应该将
与:self.employment一起使用,而应该是
与:employment一起使用

<div class="col-md-12 block employment" data-bind="with: employment">

在您的模型中,
self
指的是
budgetCalculatorViewModel
实例,而在绑定敲除中,将在实例中查找名为
self
的属性,该属性不存在。注意到:

带有
绑定的
将根据关联值是否为
null
/
未定义
动态添加或删除子元素


由于
自雇
不存在,它会删除所有内部元素。

假设您最终绑定到
预算计算器视图模型的实例
,您不应该将
与:自雇
一起使用,而应该是
与:就业

<div class="col-md-12 block employment" data-bind="with: employment">

在您的模型中,
self
指的是
budgetCalculatorViewModel
实例,而在绑定敲除中,将在实例中查找名为
self
的属性,该属性不存在。注意到:

带有
绑定的
将根据关联值是否为
null
/
未定义
动态添加或删除子元素


既然自雇自雇不存在,它就消除了所有的内在因素。

我本以为自雇自雇和自雇自雇的意思是一样的,但我想我错了:)谢谢,你是对的!我会在5分钟内记下答案。我本以为
自我雇佣
雇佣
的意思是一样的,但我想我错了:)谢谢,你是对的!我会在5分钟内记下答案