KnockoutJS and External JSON

KnockoutJS and External JSON

本文关键字:JSON External and KnockoutJS      更新时间:2023-09-26

我目前正在尝试Knockout JS,只是为了掌握库的窍门和它的所有功能,而且我在处理外部JSON数据时似乎遇到了麻烦。

在下面的Codepen中,我有一个伪可观察阵列,它运行良好。下面评论了一下,这是我想要实验的实际JSON数据。它使用$.GETJSON获取外部提要,并映射该提要以过滤结果,从而只提取我想在HTML模板中使用的数据。

我的问题是,我似乎无法让外部JSON绑定到HTML,因为我总是没有定义"tracks",有时甚至是一个空控制台(这总是很有帮助的(。

有人能告诉我如何处理外部JSON的正确方向吗?我已经四处搜索了,但我看不到太多专门用于处理外部JSON的信息。

http://codepen.io/anon/pen/Hnamf

看看你的代码笔,还不完全清楚你希望它如何工作,但它肯定可以工作。作为一个快速演示,我在init函数中移动了$.getJSON,这样它就可以实际访问视图模型,然后在回调集中设置您对属性self.tracks的访问权限。既然你绑定了"tracks",我就把"title"改成了"track",但你显然可以做任何对你有意义的事情:

 $.getJSON('http://api.soundcloud.com/users/guy-j/tracks.json?client_id=YOUR_CLIENT_ID', {limit: 200}, function(data) {
       vm.tracks($.map(data, function (track) {
             return {
                   artwork: track.artwork_url,
                   duration: track.duration,
                   permalink: track.permalink_url,
                   listens: track.playback_count,
                   stream: track.stream_url,
                   track: track.title
             };
        }));
  });

http://codepen.io/anon/pen/HAkhy