小编fin*_*flu的帖子

是否可以在javascript/jquery中创建一个空的多维数组?

我正在尝试使用Flickr API创建一个非常基本的Flickr库.我想要实现的是按照标签对照片进行排序.我正在使用的是jQuery.getJSON(),以便我可以解析flickr.photosets.getPhotos的API响应.

我有兴趣从Flickr获取的数据是标签和与每张照片相关联的URL.这个问题的唯一逻辑方法就是创建一个以下格式的多维数组:

Array['tag1'] => ['URL_1', 'URL_2', 'URL_3', 'URL_n'];
Run Code Online (Sandbox Code Playgroud)

但是,我找不到任何方法来实现这一目标.我的代码看起来像这样:

$.getJSON('http://api.flickr.com/services/rest/?api_key=xxx&method=flickr.photosets.getPhotos&user_id=xxx&format=json&extras=tags%2C+url_l%2C+url_sq&nojsoncallback=1&photoset_id=xxx', 
   function(data) {

     var imageArray = [];   
     $.each(data.photoset.photo, function(i, item) {

       imageArray[item.tags] = [item.url_sq,];

     });
});
Run Code Online (Sandbox Code Playgroud)

我知道代码可能看起来很尴尬,但我已经尝试了所有的东西,我无法解决这个问题.

javascript arrays jquery flickr multidimensional-array

12
推荐指数
1
解决办法
3万
查看次数

如何选择通过jQuery load()函数加载的元素?

我目前遇到以下问题(这里是一些示例代码):

<div id="container"></div>

<script type="text/javascript">
    $('#container').load('content.html');

    $('.elementInContentHTML').fadeIn();
</script>
Run Code Online (Sandbox Code Playgroud)

简而言之,我希望能够访问已动态添加到页面的元素,而无需将它们附加到事件处理程序.

我知道的live()方法,但我希望我的行动绑定到任何活动,即我只是想不点击它们,注重运行这些新元素的一些行动,模糊等.

javascript ajax jquery asynchronous

9
推荐指数
2
解决办法
1万
查看次数

Ember.js:测试时组件属性未重置

我目前正在尝试对嵌套路由进行验收测试,该路由使用相同的组件两次,但使用不同的参数.这在我正常运行时工作正常,但是当我运行验收测试时,我注意到组件的参数没有被更新,这导致我的测试失败.以下是一些示例代码:

index.hbs我有:

{{index-view model=model type='location'}}
Run Code Online (Sandbox Code Playgroud)

我的index-view组件看起来像这样:

<h1>{{title}} List</h1>

{{listing-table model=model type=type}}
Run Code Online (Sandbox Code Playgroud)

通过点击的一个元素listing-table,然后我去的locations.show路线,其中包含link-tolocations.show.devices路线.该locations.show.devices路线包含:

{{listing-table model=model.devices type='device' exclude='locationName'}}
Run Code Online (Sandbox Code Playgroud)

然而,在我的验收测试,我可以看到(呼应出器件的javascript这些属性),虽然modeltype正在更新,exclude始终设置为当组件最初叫什么设置.

现在,我已经检查(通过console.log())组件是否被重复使用或没有,我可以看到,无论是init ()didDestroyElement ()被调用两次,这意味着该组件经历的整个生命周期的两倍.但是,我真的不明白为什么我的exclude论点根本没有更新,为什么这只会在验收测试时发生?

这是我正在做的精简版(当然它适用于Twiddle,但不适用于现实生活!).

javascript acceptance-testing ember.js ember-testing

6
推荐指数
1
解决办法
169
查看次数