访问和更新夹具Ember JS

Kautilya

如何在IndexController中更新/编辑特定的Person?

App.Person=DS.Model.extend({
        name:DS.attr('string'),
        iminus:DS.attr(),
        iplus:DS.attr()
    });

    App.Person.FIXTURES=[
        {
            id:1,
            name:'M',
            iminus:[{amount:50,pers:'A'}],
            iplus:[]
        },
        {
            id:2,
            name:'An',
            iminus:[{amount:20,pers:'Mo'}],
            iplus:[]
        }
    ];
    App.IndexRoute=Ember.Route.extend({
        model:function(){
            return this.store.findAll('person');
        }
    });
    App.IndexController=Ember.ArrayController.extend({
    actions:{
        createNew:function(){
            //Access and Update a person record based on name
        }
    }
    });

如何基于IndexController中的名称访问和更新人员记录

米格尔·莫塔(Miguel Mota)
var App = Ember.Application.create();

App.FixtureAdapter = DS.FixtureAdapter.extend({
    queryFixtures: function (records, query, type) {
        return records.filter(function (record) {
            for (var key in query) {
                if (!query.hasOwnProperty(key)) {
                    continue;
                }
                var value = query[key];
                if (record[key] !== value) {
                    return false;
                }
            }
            return true;
        });
    }
});

App.ApplicationAdapter = App.FixtureAdapter;

App.Router.map(function () {

});


App.Person = DS.Model.extend({
    name: DS.attr('string'),
    iminus: DS.attr(),
    iplus: DS.attr()
});

App.Person.reopenClass({
    FIXTURES: [{
        id: 1,
        name: 'M',
        iminus: [{
            amount: 50,
            pers: 'A'
        }],
        iplus: []
    }, {
        id: 2,
        name: 'An',
        iminus: [{
            amount: 20,
            pers: 'Mo'
        }],
        iplus: []
    }]
});

App.IndexRoute = Ember.Route.extend({
    model: function () {
        return this.store.findAll('person');
    }
});

App.IndexController = Ember.ArrayController.extend({
    actions: {
        updatePerson: function (name) {
            var person;

            this.get('model').filter(function (model) {
                if (model.get('name') === name) {
                    person = model;
                }
            });

            var iminus = person.get('iminus');
            iminus.push({
                amount: 100,
                pers: 'Mo'
            });

            person.setProperties({
                iminus: iminus
            });

            person.save()
                .then(success)
                .catch (fail);

            function success(model) {
                alert('success');
            }

            function fail(error) {
               alert('fail');
            }

        }
    }
});

http://emberjs.jsbin.com/wamiminesi/1/edit?html,js,输出

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用CLI在ember.js中的夹具数据在哪里

来自分类Dev

cli中的ember.js中的夹具数据在哪里

来自分类Dev

ember.js - 在模态和自己的路线上更新表单?

来自分类Dev

Leaflet.js:如何访问和更新图层内的标记

来自分类Dev

Django和Ember.js

来自分类Dev

嵌套在ember.js中的资源,在带有夹具数据的帖子中添加注释

来自分类Dev

Ember.js不更新模型

来自分类Dev

嵌套视图未更新Ember.js

来自分类Dev

Ember Js、Ember-Highcharts 不更新对 chartData 的更改

来自分类Dev

如何整合amcharts和Ember.js?

来自分类Dev

Ember.js模型继承和模板

来自分类Dev

Azure移动服务和Ember.js

来自分类Dev

Ember js和Rails 4 CSRF

来自分类Dev

Ember JS中的Rails STI和多态

来自分类Dev

Ember js和Rails 4 CSRF

来自分类Dev

Ember.js模型继承和模板

来自分类Dev

如何整合amcharts和Ember.js?

来自分类Dev

Ember JS中的Rails STI和多态

来自分类Dev

Sails.js和Ember.js嵌套关联

来自分类Dev

Ember.js-从子路由访问全局查询参数

来自分类Dev

Ember.js:使当前用户可以全局访问

来自分类Dev

从Ember.js中的路由中访问操作

来自分类Dev

Ember.js:如何从App对象获取对存储的访问

来自分类Dev

在ember.js中访问其模型之外的计算属性

来自分类Dev

Ember.js在afterModel中访问模型值

来自分类Dev

Ember.js:在before / afterModel挂钩中访问queryParams

来自分类Dev

Ember.js:无法访问注入的对象

来自分类Dev

Ember.js:如何从App对象获取对存储的访问

来自分类Dev

从Ember.js中的多个灯具访问数据