Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 余烬:将模型中的错误插入应用程序模板_Javascript_Ember.js_Model_Ember Data - Fatal编程技术网

Javascript 余烬:将模型中的错误插入应用程序模板

Javascript 余烬:将模型中的错误插入应用程序模板,javascript,ember.js,model,ember-data,Javascript,Ember.js,Model,Ember Data,我在模型类中看到了becameError和becameInvalid触发器,例如: //model/car.js example import Ember from "ember"; import Model from "ember-data/model"; export default Model.extend({ becameError() { alert('there was an error!'); }, becameInvalid(errors) {

我在模型类中看到了becameError和becameInvalid触发器,例如:

//model/car.js
example  import Ember from "ember";
import Model from "ember-data/model";

export default Model.extend({
  becameError() {
    alert('there was an error!');
  },

  becameInvalid(errors) {
    alert(`Record was invalid because: ${errors}`);
  },
});
现在,当我保存模型并且后端返回错误时,将显示警报。但是如何在应用程序模板中显示错误消息

比如:

becameError() {
    applcation.set('hasError', true);
  },

//application.hbs
{{#if hasError}}
   <h1>An error has occured!</h1>
{{/if}}
becameError(){
application.set('hasrerror',true);
},
//application.hbs
{{{#如果hasError}}
发生了一个错误!
{{/if}
您可以使用它

//services/error-container.js
...
errors: Ember.A()
...
现在是汽车模型

//models/car.js
...
export default Model.extend({
  errorContainer: Ember.inject.service(),
  becameError() {
    alert('there was an error!');
    this.get('errorContainer.errors').pushObjects(this.get('errors'));
  }
...
和在应用程序模板中

//application.hbs
{{#if hasError}}
   {{#each errorContainer.errors as |error|}}
      <div>error.message</div>
   {{/each}}
{{/if}}
此外,您还需要注意清除从
错误中删除错误对象

...
errorContainer: Ember.inject.service(),
hasError: Ember.computed.notEmpty('errorContainer.errors')
...