我如何使用车把(EmberJS)

时间:2016-08-01 18:25:02

标签: javascript ember.js handlebars.js

因此,当我单击模板上的按钮时,应该更改一个值并在屏幕上显示记录列表。这不会发生。我究竟做错了什么?下面是我的控制器,型号,模板和路线的代码。

控制器:

import Ember from 'ember';

export default Ember.Controller.extend({

    usernameIn: '',
    passwordIn: '',
    found: '', 
    display: false,

    actions:{

        renderNotes(){
            this.display = true;
        }
    }

});

路线:

import Ember from 'ember';

export default Ember.Route.extend({

model()
{
    return this.store.findAll('note');
}

});

模板:

<h1>Login:</h1>

<h3>Username:</h3>{{input type="text" value = keyInput size="50"}}
<h3>Password:</h3>{{input type="text" value = keyInput size="50"}}
<br>
<br>
<button{{action 'renderNotes'}}>Submit</button>

{{#if display}}
    <thead>
      <tr>
          <th>Username</th>
          <th>Note</th>
      </tr>
    </thead>
    <tbody>
    {{#each model as |found|}}

        <tr>
            <th>{{found.username}}</th>
            <td>{{found.note}}</td>
        </tr>

    {{/each}}
    </tbody>
{{/if}}

{{outlet}}

型号:

import DS from 'ember-data';

export default DS.Model.extend({

    note: DS.attr('string'),
    username: DS.attr('string'),
    password: DS.attr('string')
});

2 个答案:

答案 0 :(得分:0)

你必须使用'set'来设置ember属性

Col1:      Col2:     Col3:     Col4:    VersionNum:
---------------------------------------------------
Val11      Val21     Val31     Val41    1
Val12      Val22     Val32     Val42    1
Val13      Val23     Val33     Val43    1
Val12a     Val22     Val32     Val42    2

答案 1 :(得分:0)

对于非常简单的用例,而不是在 component.js 中创建操作代码,如果您&#39,可以在 template.hbs 中轻松完成此操作。 ;重新使用Ember 2+。以下是:

val surveyDB = parse("/Users/manujkathuria/a.csv") def parse(file: String): List[JsObject] = { val bufferedSource = Source.fromFile(file) try { bufferedSource.getLines().map(line => { val cols = line.split(",").map(_.trim) Json.obj("name" -> cols(0), "age" -> cols(1), "job" -> cols(2)) }).toList } finally bufferedSource.close }