Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html>
<head>
<meta name="description" content="CanJS Models">
  <meta charset="utf-8">
  <title>JS Bin</title>
</head>
<body>
<script id="app-template" type="text/stache">
{{#eq page 'home'}}
  <home-page/>
{{else}}
  <restaurants-page/>
{{/eq}}
</script>
  
<script id="home-template" type="text/stache">
<h1>Home Page</h1>
<a href="{{routeUrl page='restaurants'}}">
  Find a restaurant
</a>
</script>
  
<script type="text/stache" id="select-loader-template">
{{^if promise.isResolved}}
  <select disabled>
    {{#if promise}}
      <option>{{loadingText}}</option>
    {{/if}}
  </select>
{{else}}
    <select {($value)}="value">
      {{^value}}
        <option value="">{{chooseText}}</option>
      {{/value}}
      <content/>
    </select>
{{/if}}
</script>
  
<script type="text/stache" id="restaurants-page-template">
<h2>Find a restaurant
<a href="{{routeUrl page='home'}}">
  home
</a>
</h2>
<form>
  <label>State</label>
  <select-loader 
    {promise}="states" {(value)}="state"
    loading-text="Loading states"
    choose-text="Choose state">
    {{#each states.value}}
        <option value="{{short}}">{{name}}</option>
      {{/each}}
  </select-loader>
  
  <label>City</label>
  <select-loader {promise}="cities" {(value)}="city">
    {{#each cities.value}}
      <option>{{name}}</option>
    {{/each}}
  </select-loader>
  
</form>
{{#if restaurants.isPending}}
  <div class="restaurant loading">Loading...</div>
{{/if}}
{{#each restaurants.value}}
  <div class="restaurant">
    <img src="{{images.thumbnail}}" width="100" height="100">
    <h3>{{name}}</h3>
      
    <div class="address">
        {{#address}}{{city}}, {{state}}{{/address}}
    </div>
    
  </div>
{{/each}}
</script>
  
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.js"></script>
<script src="//canjs.com/release/latest/can.jquery.js"></script>
<script src="//canjs.com/release/latest/can.construct.super.js"></script>
<script src="//canjs.com/release/latest/can.map.define.js"></script>
<script src="//canjs.com/release/latest/can.stache.js"></script>
<script src="//canjs.com/release/latest/can.fixture.js"></script>
</body>
</html>
Output

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
justinbmeyerpro
0viewers