Man*_*min 2 ember.js ember-data
我正在使用ember 2.3.当我尝试访问组件内的存储时,我在控制台中收到以下错误.
这是我在component.js中尝试过的
export default Ember.Component.extend({
actions: {
saveEmployee : function() {
var store = this.store;
var newEmployee = store.createRecord("employee", {
fname: "Manu",
lname: "Benjamin",
email: "manu.benjamin@gmail.com",
department: "IT Services"
});
newEmployee.save().then(()=> {
console.log("Record successfully saved!!!!");
});
}
}
});
Run Code Online (Sandbox Code Playgroud)
我是否需要在组件中包含任何使用商店的内容?
我试图弄清楚这种类型错误的原因.最后,我从Josh Farrant的以下博客中找到了解决方案.
https://blog.farrant.me/how-to-access-the-store-from-within-an-ember-component/
我们需要在组件中注入商店服务.
store: Ember.inject.service(),
Run Code Online (Sandbox Code Playgroud)
我们可以使用get函数在action中注入的商店,
let store = this.get('store');
Run Code Online (Sandbox Code Playgroud)
我使用上面的解决方案修改了我的代码,它对我有用.
export default Ember.Component.extend({
store: Ember.inject.service(),
actions: {
saveEmployee : function() {
var store = this.get('store');
var newEmployee = store.createRecord("employee", {
fname: "Manu",
lname: "Benjamin",
email: "manu.benjamin@gmail.com",
department: "IT Services"
});
newEmployee.save().then(() => {
console.log("Record successfully saved!!!!");
});
}
}
});
Run Code Online (Sandbox Code Playgroud)
感谢Josh Farrant的精彩博客.