Backbone模型中的集合

时间:2015-09-26 07:49:07

标签: backbone.js

我想创建一个Backbone模型并将另一个模型的集合存储到其属性中。所以,有父母和孩子的模型。每个父级都有一个或多个子级存储为其属性中的数组。

JSON将是这样的。

adapter = new ArrayAdapter<String>(getContext(), android.R.layout.simple_dropdown_item_1line, list_of_Cities) {
            @Override
            public View getView(int position, View convertView, ViewGroup parent) {

                View v = super.getView(position, convertView, parent);

                v.setOnTouchListener(new View.OnTouchListener() {

                    @Override
                    public boolean onTouch(View v, MotionEvent event) {
                        View view = activity.getCurrentFocus();
                        if (event.getAction() == MotionEvent.ACTION_DOWN) {
                            InputMethodManager imm = (InputMethodManager) activity
                                    .getSystemService(
                                            Context.INPUT_METHOD_SERVICE);
                            imm.hideSoftInputFromWindow(
                                    view.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
                        }

                        return true;
                    }
                });
                return v;

            }
        };

我试图创建两个模型并在另一个中插入一个但仍然没有解决方案。而且我不想使用解析或其他服务器的东西。

那么,是否有任何解决方案或更好的方法来实现这一目标?

1 个答案:

答案 0 :(得分:4)

据我了解,您希望使用此数据创建模型,并且模型内部是否children可以在其中创建相同模型的集合。

var Person = Backbone.Model.extend({
    initialize: function(){
        this.set('children', new Persons(this.get('children')));
    }
});

var Persons = Backbone.Collection.extend({
    model: Person
});
  1. 关于模型创建 - initialize: function () {...}
  2. 让我们的孩子阵列 - this.get('children')
  3. 制作收藏品 - new Persons(...)
  4. Collection将自行创建模型
  5. 把所有东西都归还 - this.set('children', ...);
  6. JSFiddle - 在控制台中运行并查看结果。