TypeError: не удается прочитать свойство «Mixin» неопределенного

Я пытаюсь использовать ember-validation. Я добавил validation.mixin в свой контроллер, но это вызывает ошибку. Это мой код контроллера:

var loanController = Ember.ObjectController.extend(Ember.Validations.Mixin);
loanController.reopen({

borrowingLimits:null,
industries:null,
actions:{
submitAction:function(){
var model=this.get('model');
if (model!=null) {
var controller = this;
$.ajax({
type :'post',
async:false,
url : '/api/v1/loanapplication/',
data: JSON.stringify(model),
contentType: "application/json; charset=utf-8"
}).done(function (data) {
controller.transitionToRoute('upload-documents',data);
});
}

}
}, 
validations: {
applicantFirstName: {
presence: true,
length: { minimum: 5 }
}
}
});

export default loanController;

Как я могу решить эту проблему?

обновить Я добавил импорт

app.import('vendor/ember-validations/packages/ember-validations/lib/core.js');
app.import('vendor/ember-validations/packages/ember-validations/lib/defaultMessages.js');
app.import('vendor/ember-validations/packages/ember-validations/lib/errors.js');
app.import('vendor/ember-validations/packages/ember-validations/lib/main.js');
app.import('vendor/ember-validations/packages/ember-validations/lib/mixin.js');
app.import('vendor/ember-validations/packages/ember-validations/lib/validatorNamespaces.js');
app.import('vendor/ember-validations/packages/ember-validations/lib/validators.js');

person Nininea    schedule 21.07.2014    source источник
comment
Вы включили ember-validation перед его использованием? Кажется, Ember.Validations не существует. Вы его импортировали?   -  person Jordy Langen    schedule 21.07.2014
comment
Какова фактическая ошибка, которую вы получаете?   -  person Dhaulagiri    schedule 21.07.2014


Ответы (2)


Похоже, вы неправильно импортируете ember-валидации, но причина в том, что вы не импортируете миксин в файл контроллера. Следующее будет работать.

В вашем файле Bower.json:

{
  "name": "app-name",
  "dependencies": {
    "ember-validations": "http://builds.dockyard.com.s3.amazonaws.com/ember-validations/ember-validations-latest.min.js",
  }
}

Выполнить bower install.

В вашем Brofile.js:

app.import('vendor/ember-validations/index.js');

В mixins/form-saving.js:

export default Em.Mixin.create(
  Em.Validations.Mixin, {

  // Your common form saving functions and properties
});

В controllers/loan.js:

import FormSaving from 'app-name/mixins/form-saving';

export default Em.ObjectController.extend(
  FormSaving, {

  // Methods and Properties here
});
person Duncan Walker    schedule 21.07.2014

Вы импортировали библиотеку?

Предполагая, что вы используете ember-cli:

// in Brocfile.js after importing ember.js

app.import('vendor/path/to/ember-validations');
person Jordy Langen    schedule 21.07.2014
comment
также в ember-cli я не могу добавить папку, могу импортировать только файл - person Nininea; 21.07.2014