ko.mapping

Not sure how ko.mapping works...

by Mark Carpenter Jr

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.0/knockout-min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout.mapping/2.4.1/knockout.mapping.min.js"></script>
This the weather <span data-bind="text: weather."></span>

JavaScript

function appVM() {
var self = this;
var WEATHER_KEY = '6dc4f9aa6decdedf1ef5aab972c8471f';
self.weatherReport = function(weatherData) {
    var url = "http://api.openweathermap.org/data/2.5/weather?" +
      "lat=" + model.defLoc[0] + "&lon=" + model.defLoc[1] +
      "&units=imperial&APPID=" + WEATHER_KEY;

    $.ajax({
      url: url,
      type: 'GET',
      dataType: 'JSON',
      success: function(result) {
        var data = result;
        appVM.weatherData = ko.mapping.fromJS(data, {}, appVM.weatherData);
      },
      error: function(result) {
        Materialize.toast("Can't Get Weather. . .", 6000)
      }
    });
  };
}
var appVM = new appVM();
ko.applyBindings(appVM);