i trying display artist details when or selected list error in chrome console says detailscontroller not function got undefined
list.html
<section class="artist"> <div class="search"> <h1>artist directory</h1> <label>search:</label> <input ng-model="query" type="text" placeholder="search artists" autofocus/> <p> </p> <label class="formgroup"> by: <select ng-model="artistorder"> <option value="name">name</option> <option value="reknown">reknown</option> </select> </label> <label class="formgroup"> <input type="radio" ng-model="direction" name="direction" checked/>ascending </label> <label class="formgroup"> <input type="radio" ng-model="direction" name="direction" value="reverse"/> descending </label> </div> <ul class="artistlist"> <li class="artist cf" ng-repeat="artist in artists | filter: query | orderby: artistorder:direction"> <a href="#/details/{{artists.indexof(artist)}}"> <img ng-src="images/{{artist.shortname}}_tn.jpg" alt=""/> <div class="info"> <h2>{{artist.name }}</h2> <h3>{{artist.reknown}}</h3> </div> </a> </li> </ul> </section> details.html
<section class="artistinfo"> <div class="artist cf" ng-model="artists"> <h1>{{artists[whichitem].name}}</h1> <div class="info"> <h3>{{artists[whichitem].reknown}}</h3> <img ng-src="images/{{artists[whichitem].shortname}}_tn.jpg" alt=""/> <div class="bio">{{artists[whichitem].bio}}</div> </div> </div> </section> controllers.js
var artistcontrollers = angular.module('artistcontrollers', []); artistcontrollers.controller('listcontroller', ['$scope', '$http', function ($scope, $http) { $http.get('js/data.json').success(function (data) { $scope.artists = data; $scope.artistorder = "name"; // name selected in orderby }); }]); artistcontrollers.controller('detailscontroller', ['$scope', '$http','$routeparams', function($scope, $http, $routeparams) { $http.get('js/data.json').success(function(data) { $scope.artists = data; $scope.whichitem = $routeparams.itemid; }); }]); app.js
var myapp = angular.module('myapp',[ 'ngroute', 'artistcontrollers' ]); myapp.config(['$routeprovider',function($routeprovider){ $routeprovider.when('/list', { templateurl: 'partials/list.html', controller: 'listcontroller' }). when('/details/:itemid', { templateurl:'partials/details.html', controller:'detailscontroller' }). otherwise({ redirectto: '/list' }); }]);
Comments
Post a Comment