39

RequireJS & Handlebars

Embed Size (px)

DESCRIPTION

RequireJS & Handlebars This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2013. http://www.ivanomalavolta.com

Citation preview

Page 1: RequireJS & Handlebars
Page 2: RequireJS & Handlebars
Page 3: RequireJS & Handlebars
Page 4: RequireJS & Handlebars
Page 5: RequireJS & Handlebars
Page 6: RequireJS & Handlebars
Page 7: RequireJS & Handlebars

(function () {

// ... vars and functions defined here are

// local to this module

// here you can also access global variables

}());

Page 8: RequireJS & Handlebars
Page 9: RequireJS & Handlebars
Page 10: RequireJS & Handlebars
Page 11: RequireJS & Handlebars
Page 12: RequireJS & Handlebars
Page 13: RequireJS & Handlebars
Page 14: RequireJS & Handlebars
Page 15: RequireJS & Handlebars
Page 16: RequireJS & Handlebars

Page 17: RequireJS & Handlebars
Page 18: RequireJS & Handlebars
Page 19: RequireJS & Handlebars
Page 20: RequireJS & Handlebars
Page 21: RequireJS & Handlebars
Page 22: RequireJS & Handlebars

<div class=“userEntry">

<h1>

{{username}}

</h1>

<img>

{{profilePic}}

</img>

<div class=“status“>

{{status}}

</div>

</div>

Page 23: RequireJS & Handlebars

<div class=“userEntry">

<h1>{{username}}</h1>

<div class=“status“>

{{{status}}}

</div>

</div>

Page 24: RequireJS & Handlebars

var context = {

username: “Ivano“,

profilePic: “./images/pic.png“,

status: “feeling good”

};

Page 25: RequireJS & Handlebars

<script id=“user-template"

type="text/x-handlebars-template">

// template content

</script>

Page 26: RequireJS & Handlebars

var source = $("#user-template").html();

var template = Handlebars.compile(source);

Page 27: RequireJS & Handlebars

var context = {username: “Ivano“,

status: “feeling good” };

var html = template(context);

<div class=“userEntry">

<h1>Ivano<h1>

<div class=“status“>

feeling good

</div>

</div>

Page 28: RequireJS & Handlebars

<h1>{{username}}</h1>

Page 29: RequireJS & Handlebars

<h1>{{user.username}}</h1>

Page 30: RequireJS & Handlebars

Handlebars.registerHelper(‘test‘, function(user) {

return new Handlebars.SafeString(

"<a href='" + user.name + "'>" +

user.surname + "</a>"

);

});

Page 31: RequireJS & Handlebars

{{ test user }}

Page 32: RequireJS & Handlebars

<div class="entry“>

<h1>{{title}}</h1>

{{#with author}}

<h2>By {{firstName}} {{lastName}}</h2>

{{/with}}

</div>

{ title: "My first post!",

author: { firstName: "Charles", lastName: "Jolley" }

}

<div class="entry“>

<h1>My first post!</h1>

<h2>By Charles Jolley</h2>

</div>

Page 33: RequireJS & Handlebars

<ul class="people_list">

{{#each people}}

<li>{{this}}</li>

{{/each}}

</ul>

{ people: [ "Yehuda Katz", "Alan Johnson", "Charles Jolley" ] }

<ul class="people_list">

<li>Yehuda Katz</li>

<li>Alan Johnson</li>

<li>Charles Jolley</li>

</ul>

Page 34: RequireJS & Handlebars

<div class="entry">

{{#if author}}

<h1>{{firstName}} {{lastName}}</h1>

{{else}}

<h1>Unknown Author</h1>

{{/if}}

</div>

Page 35: RequireJS & Handlebars
Page 36: RequireJS & Handlebars
Page 37: RequireJS & Handlebars

Page 38: RequireJS & Handlebars
Page 39: RequireJS & Handlebars