Я пишу небольшой пример приложения, используя Ember.js. Моя цель - определить варианты использования Ember. Мое приложение представляет собой простой просмотрщик твиттера. Я щелкаю объект Ember.Button, который загружает мой канал Twitter и выводит его на страницу. Это все прекрасно работает, но имя пользователя жестко закодировано. Я хочу углубиться в это, и поэтому я добавил представление Ember.TextField, которое я хотел бы использовать, чтобы указать имя пользователя Twitter.
Я вижу, как кнопка нацеливается на маркированный список, который отображает твиты, и я также вижу, как она знает, какой контроллер использовать для получения данных. Мой вопрос: как я могу сказать Ember извлечь значение имени пользователя из поля ввода и передать его в метод, который вызывает твиты? Я добавляю существующий код JS:
// app.js
var Tweets = Em.Application.create();
Tweets.tweetsArray = Em.ArrayController.create({
content: [],
loadTweets: function() {
var url = 'http://api.twitter.com/1/statuses/user_timeline.json?screen_name=commadelimited&callback=?';
$.getJSON(url,function(data){
Tweets.tweetsArray.pushObjects(data);
})
}
});
А вот мнение:
<script type="text/x-handlebars">
<div id="frm">
{{view Ember.TextField placeholder="Twitter username"}}
{{#view Ember.Button target="Tweets.tweetsArray" action="loadTweets"}}
Load Tweets
{{/view}}
</div>
<ul id="tweets">
{{#each Tweets.tweetsArray}}
<li>
<h3>{{user.screen_name}}</h3>
<p>{{text}}</p>
</li>
{{/each}}
</ul>
</script>