【问题标题】:Alloy Collection and Models for POST data用于 POST 数据的合金集合和模型
【发布时间】:2014-10-17 20:03:15
【问题描述】:

无论如何,我对 Titanium 并不陌生,但我对 Alloy 还是很陌生,我正在努力掌握集合和模型的概念。

我的第一个视图/控制器是登录屏幕,因此我自然需要向 API 提交用户名和密码。我找到了这个并且能够成功检索到示例 JSON 提要:https://github.com/viezel/napp.alloy.adapter.restapi

在我的模型文件夹中,我有一个名为 Login 的模型(或者,我有一个集合?)

exports.definition = {  
    config: {
        "URL": "http://example.com/services/user/login",
        "debug": 0, 
        "adapter": {
            "type": "restapi",
            "collection_name": "Login",
            "idAttribute": "id"
        },
        "headers": {},
        "parentNode": "feed" //your root node
    },      
    extendModel: function(Model) {      
        _.extend(Model.prototype, {});
        return Model;
    },  
    extendCollection: function(Collection) {        
        _.extend(Collection.prototype, {});
        return Collection;
    }       
};

我的控制器通过以下方式调用此模型:

var login = Alloy.createCollection('Login');
login.fetch({ 
  success : function()
  {
    _.each(login.models, function(element, index, list)
    {
      //-- handle the response
    });
  },
  error : function()
  {
    Ti.API.error('xhr error!');
  }
});

我的问题(在上述链接中并不清楚)是如何将数据发布到该模型以发送到 API。就像我说的,我需要发送用户名和密码。

【问题讨论】:

标签: javascript titanium appcelerator titanium-alloy


【解决方案1】:

我有一些非常详尽的例子。

但基本前提是你需要扩展一个用户模型来支持登录功能,而不是在一个集合中。

在此处查看完整示例https://github.com/aaronksaunders/AppC-Alloy-Book/blob/master/app/models/user.js

虽然此模型适用于 ACS,但基本模式保持不变

  extendModel : function(Model) {
       _.extend(Model.prototype, {
          login : function(_login, _password, _callback) {}
       }
  }

【讨论】:

  • 感谢 Aaron 的分享。我也需要这个。您帖子的忠实粉丝和追随者。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-31
相关资源
最近更新 更多