我第一次使用Knockoutjs,因为我无法在控制台中记录变量而无法进行调试。当我输入时,我可以看到我的JS正在控制台中正确加载:
Home.TwitterFeedComponent
我看到object
已退回。如何将console.log
与knockout和subscribe结合使用?
var Home = Home || {};
var inheriting = inheriting || {};
Home.TwitterFeedComponent = function(attributes) {
if (arguments[0] === inheriting)
return;
Home.OnScreenComponent.call(this, attributes);
var component = this;
var recent_tweets = ko.observableArray();
var url = 'https://twitter.com/search.json?callback=?';
this.attributes.twitter_user_handle.subscribe(function(value) {
var twitter_parameters = {
include_entities: true,
include_rts: true,
from: value,
q: value,
count: '3'
}
result = function getTweets(){
$.getJSON(url,twitter_parameters,
function(json) {
console.log(json)
});
}
console.log(twitter_parameters);
});
};
Home.TwitterFeedComponent.prototype = new Home.OnScreenComponent(inheriting);
Home.TwitterFeedComponent.prototype.constructor = Home.TwitterFeedComponent;
答案 0 :(得分:1)
我没有在您的代码中看到问题,但如果您想记录“可观察性”,则必须按如下方式记录:
console.log(observableVar());
答案 1 :(得分:-1)
我对问题的确切范围有点不清楚 - 但是,如果像我一样,这个问题是针对在您的HTML中使用console.log
的。
以下是一些可能有用的代码:
<div class="tab-content" data-bind="with: ClientSearch.selectedClient">
...
<table class="table table-striped table-condensed table-hover">
<thead></thead>
<tbody>
<!-- ko foreach: { data: _general, as: 'item' } -->
<tr>
<td data-bind="text: eval( 'console.log(\' le item \', item)' )"></td>
</tr>
<!-- /ko -->
</tbody>
</table>
...
</div>
此代码只是将foreach
内的项目记录到控制台。
希望这有帮助!