0

所以我有一个简单的组件,如下所示:

<div class="my-div">{{ value }}</div>
{{input class="my-input" type="text" value=value}}

我有两个这样的测试:

test('get text from div', function(assert) {

  this.set('value', 'my test value');
  this.render(hbs`{{input-test value=value}}`);

  assert.equal(this.$('.my-div').text(), 'my test value');

});

test('get value from input', function(assert) {

  this.set('value', 'my test value');
  this.render(hbs`{{input-test value=value}}`);

  assert.equal(this.$('.my-input').attr('value'), 'my test value');

});

第一个测试通过,但第二个测试失败。this.$('.my-input').attr('value')似乎是undefined。为什么?我怎样才能使这个测试通过?

4

1 回答 1

1

使用val()

assert.equal(this.$('.my-input').val(), 'my test value');

API 参考:jquery val

于 2017-03-19T19:13:37.827 回答