0

アプリケーションでサブスクライブを使用しています。3 つのサブスクライブを使用しています。最初の 2 つは正常に機能しますが、最後にサブスクライブを追加したオブザーバブルが思い通りに機能しません。

  // Listen to likelihood so that everytime it change it will also change the RiskLevel
        self.Likelihood.subscribe(function (newValue) {               
            self.RiskLevelName(GetRiskLevel(newValue, self.Consequence()));
        });
        self.Consequence.subscribe(function (newValue) {
            self.RiskLevelName(GetRiskLevel(self.Likelihood(), newValue));
        });

可能性または結果を変更すると、RiskLevelName の値が変更され、うまく機能しています。にブレークポイントを追加します

 self.RiskLevelName(GetRiskLevel(newValue, self.Consequence())); 

Likelihood の値を変更しても、ブレークポイントが加熱されないことに気付きました。面白いことに、self.RiskLevelName の値が変更されます。

アカウントにサブスクライブする別のコードを追加しましたが、機能しません。コンソールにエラーは表示されませんでした

       self.Account.subscribe(function (newValue) {
            console.log(newValue);
        });

これがDOM要素にバインドする方法です

 <div class="span6">
          <div class="control-group" id="likelihoodModalControlGroup">
                   <label class="control">Likelihood</label>
                   <div class="controls">
                         <select id="likelihood" class="input-large custom" data-bind="value:Likelihood, options:$root.LikelihoodList, optionsValue:'Key', optionsText:'Value', optionsCaption:'Select Likelihood'">
                                    <option value="0">Select Likelihood</option>
                           </select>
                      </div>
             </div>
   </div>
   <div class="span6">
             <div class="control-group" id="consequenceModalControlGroup">
                     <label class="controls">Consequence</label>
                     <div class="controls">
                         <select id="consequence" class="input-large custom" data-bind="value:Consequence, options:$root.ConsequenceList, optionsValue:'Key', optionsText:'Value', optionsCaption:'Select Consequence'">
                             <option value="0">Select Consequence</option>
                          </select>
                     </div>
               </div>
   </div>

  <div class="span6">
      <div class="control-group" id="AccountModalControlGroup" >
           <label>Account</label>
           <div class="controls">                                   
                    <select class="input-large custom"  data-bind="value:Account, options:$root.ProjectList, optionsValue:'Key', optionsText:'Value', optionsCaption:'Select Account'">
                          <option value="0">Select Account</option>
                     </select>                                   
             </div>
     </div>
</div>
4

0 に答える 0