我在我的应用程序中使用subscribe我使用三个订阅前两个工作正常,但我添加订阅的最后一个observable不能正常工作。
// 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>