我有搜索屏幕,当用户导航到结果页面时,结果页面上有一些带有值(分钟,字符)的单选按钮。
我已经订阅了结果页面上的单选按钮点击事件,当用户点击订阅功能应该调用的单选按钮时。
现在的问题是:
1)当用户第一次点击搜索按钮时,会显示结果。
2)用户选择“分钟”单选按钮调用订阅事件并正常工作。
3)用户选择后退按钮,用户被重定向到搜索屏幕。
4)用户点击搜索按钮,结果是dsiplayed。
5)用户尝试单击“”字符“按钮,不调用订阅事件。
她是我的代码:
<div class="nmc-righttab" style="width: 60%">
<div class="nmc-righttab" style="margin-left:20px">
<label class="nmc-label" style="line-height:21px">@Res.Trends.DisplayResultBy</label>
</div>
<div class="nmc-righttab" style="width:250px">
<div class="nmc-lefttab" style="margin-left:5px">
<input type="radio" id="MinuRadio" name="GphInterval" value="2" data-bind="checked:GraphClick" />
</div>
<div class="nmc-righttab">
<label class="nmc-label" for="MinuRadio" style="line-height:21px">@Res.Trends.Minutes</label>
</div>
<div class="nmc-lefttab" style="margin-left:5px">
<input type="radio" id="CharRadio" name="GphInterval" value="3" data-bind="checked:GraphClick" />
</div>
<div class="nmc-righttab">
<label class="nmc-label" for="CharRadio" style="line-height:21px">@Res.Trends.Characters</label>
</div>
</div></div>
JS代码:
this.GraphClick.subscribe(function (val) {
model.showGraphResults(true);
model.GraphIntervalSelected(val);
searchSpeechGraphView(speechUsage);
}, this)
答案 0 :(得分:1)
不要将this
作为参数传递给subscribe
方法,为什么不将该匿名函数与this
对象绑定。像这样
JS代码:
this.GraphClick.subscribe(function (val) {
model.showGraphResults(true);
model.GraphIntervalSelected(val);
searchSpeechGraphView(speechUsage);
}.bind(this));