triest,
Возьми и в своем саблайме поиском по фолдеру найди все DemoController и переименуй в DemoCtrl
У меня вылазило TypeError: $http is not a function
Поправил и у меня нормально отображается твой проблемный кусок с
<h1><b>{{vm.data.city.name}}</b></h1>
<h1><b>{{vm.data.list[0].temp.day}}</b></h1>
Надо просто правильно дописать в weather.js
// вместо
app.controller('DemoCtrl',[ function($http) {
// надо
app.controller('DemoCtrl',['$http', function($http) {
Выводит
Kansas City
63.14
Ты понял что здесь происходит? Зачем всю эту фигню в квадратных скобочках писать?
Вообще это не есть хорошо с точки зрения читаемости и поддержабельности кода
Надо использовать $inject и именованную функцию