gpt4 book ai didi

ember.js - Ember JS : Remove record from hasMany relationship and update view

转载 作者:行者123 更新时间:2023-12-02 19:46:32 25 4
gpt4 key购买 nike

我正在尝试从商店中删除一条记录并自动更新列出项目的 View ,但到目前为止我还没有运气。

我在 Controller 的delete方法中尝试了tweet.deleteRecord(),但它似乎删除了用户拥有的所有“推文”,它不会更新查看,当再次尝试访问用户推文时,出现错误。

从存储中删除记录、更新记录可能具有的任何关系以及更新 View 的正确方法是什么?

贝娄是我的代码的一部分:

型号

App.Store = DS.Store.extend({
revision: 11,
adapter: 'DS.FixtureAdapter'
});

App.User = DS.Model.extend({
screenName: DS.attr('string'),
name: DS.attr('string'),
profileImage: DS.attr('string'),
url: DS.attr('string'),
followersCount: DS.attr('number'),
description: DS.attr('string'),
tweetsCount: DS.attr('number'),
friendsCount: DS.attr('number'),
tweets: DS.hasMany('App.Tweet')
});

App.Tweet = DS.Model.extend({
date: DS.attr('date'),
text: DS.attr('string'),
containsURL: DS.attr('boolean')
});

Controller

App.UserController = Ember.ObjectController.extend({
delete: function(tweet) {
// code to delete tweet both from
// App.Tweet and App.User.Tweets relationship
// and automagically update the view
}
});

查看

<script type="text/x-handlebars" data-template-name="user">
<h3>{{ controller.name }}</h3>
<ul>
{{#each tweet in tweets}}
<li>
{{ tweet.text }}
-
<a href="#" {{action "delete" tweet}}>Delete</a>
</li>
{{/each}}
</ul>
</script>

最佳答案

您需要在 App.Tweet 模型中包含 belongsTo 关系。例如,

App.Tweet = DS.Model.extend({
date: DS.attr('date'),
text: DS.attr('string'),
containsURL: DS.attr('boolean'),
user: DS.belongsTo('App.User'),
});

现在,当您调用 tweet.deleteRecord() 时,相应用户模型的 tweets 关系也会更新。 Here's a jsfiddle .

关于ember.js - Ember JS : Remove record from hasMany relationship and update view,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15602911/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com