相关疑难解决方法(0)

如果键与underscore.js匹配,则比较两个数组

我有一个拥有Facebook权限的数组,以及用户应该给出的权限数组:

window.FB.api('/me/permissions', function(perm){                     
    if(perm){
       var given_permissions =  _.keys(perm['data'][0];
       var needed_permissions = ["publish_stream", "email"];
       //now check if given permissions contains needed permissions
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我想比较,如果所有的needed_permissions都在given_permissions,在下划线精明的方式(不包括循环两个数组我和比较值).我看到了一个_.include方法,但这会将数组与值进行比较.如果所有权限都可用,我想返回true,否则返回false.如果可能的话,我正在寻找一个不错的单线电话.

原因是,FB.login即使用户选择取消扩展权限,也会返回true.所以我需要仔细检查一下.

javascript underscore.js

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

Backbone Model数组属性更改和更改事件侦听器并不总是触发

我在Backbone中使用更改事件发现了一些奇怪的东西.这是一个模型,它有一个数组作为属性.如果我让属性在内部推送一个新值并将其设置回模型,则不会触发change事件...

这是一个完整记录的例子:

var TestModel = Backbone.Model.extend({
    defaults : {
        numbers : []
    },

    initialize : function() {
        this.on('change:numbers', this.changedEvent);
    },

    changedEvent : function() {
        console.log('model has changed');
    }
});

var oTestModel = new TestModel();
    oTestModel.set('numbers', [2, 3, 4]);    // change:numbers Event is fired

var aNumbers = oTestModel.get('numbers');
    aNumbers.push(5);

oTestModel.set('numbers', aNumbers);    // change:numbers event is NOT fired BUT WHY???

// oTestModel.set('numbers', [2, 3, 4]); 
// If this line is not commented out change:numbers event is also fired

console.log(oTestModel.toJSON());  // Dumps out …
Run Code Online (Sandbox Code Playgroud)

javascript backbone.js

7
推荐指数
1
解决办法
6544
查看次数

在Backbone模型中存储/推送到阵列

我有这个模型默认值:

test.Models.ItemModel = Backbone.Model.extend({

defaults: {
    name: 'an item',
    units: []
},
Run Code Online (Sandbox Code Playgroud)

然后我使用以下代码来设置模型:

 addUnit: function(e){
    if(e.keyCode == 13){
      this.model.set({ 'units' : this.model.get('units').push($('#addUnit').val()) }, 
        {success: function(){
          this.render();
        }}
      );
    }
  },
Run Code Online (Sandbox Code Playgroud)

但是,它似乎永远不会被添加到Model数组中,我在这里做事吗?

backbone.js

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

标签 统计

backbone.js ×2

javascript ×2

underscore.js ×1