如何将 `console.log` 与 Knockout 结合使用并使用 Knockoutjs 进行订阅?

发布于 2024-12-21 08:22:00 字数 1130 浏览 2 评论 0原文

我是第一次使用 Knockoutjs,由于无法在控制台中记录变量,因此在调试时遇到了麻烦。当我输入: Home.TwitterFeedComponent 时,我可以看到我的 JS 在控制台中正确加载,

我看到返回了一个 object 。如何将 console.log 与淘汰赛和订阅结合使用?

 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;

I'm using Knockoutjs for the first time and I'm having trouble debugging because of my inability to log variables in console. I can see that my JS is loading properly in console, when I enter:

Home.TwitterFeedComponent I see an object returned. How do I use console.log in conjunction with knockout and 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;

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

各空 2024-12-28 08:22:00

我在您的代码中没有看到问题,但是如果您想记录“Observables”,则必须按如下方式记录:

console.log(observableVar());

I don't see the problem in your code, but if you want to log 'Observables', you have to log it as follows:

console.log(observableVar());
舟遥客 2024-12-28 08:22:00

我有点不清楚问题的确切范围 - 但是,如果像我一样,这个问题是针对在 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 内的一个项目记录到控制台。

希望这有帮助!

I'm a little unclear as to the exact scope of the question -- however, if like mine, this question is directed toward the use of console.log within your HTML.

Here is a little set of code that may help:

<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>

This code simply logs an item inside of a foreach to the console.

Hope this helps!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文