I'm getting this error: "TypeError -- cannot set property 'select' of undefined" in the promise for a repository function.
The variable obj contains an array of objects.
.then(function (obj) {
// this works...
var abc = {};
abc.title = "hello";
abc.obj = obj;
// this doesn't work...
$scope.modelData = {};
$scope.title = "Import";
$scope.message = "Please select a Purchase Request"
$scope.select = obj; // <-- TypeError -- cannot set property 'select' of undefined'
It's raising the error during an angular function so I'm sure it's Angular that doesn't like it.
=== Edited to include more code.
Here's the relevant bits of my controller:
var app = ipoModule.controller("ipoController",
function ($scope, $compile, $window, $http, $q, $log, ipoRepository, $routeParams, limitToFilter, $modal, ngTableParams) {
$scope.ipoRepository = ipoRepository;
//... not-relevant stuff
$scope.PRList = ipoRepository.getMvpPRs($scope.POHeader.warehouseId)
.then(function (obj) {
var modelData = {};
modelData.title = "MVP Import";
modelData.message = "MVP Purchase Request ID";
modelData.select = obj;
$scope.modalData = modelData;
// then do more stuff but it breaks before that...
})
.catch(function (err) {
$scope.HandleErrorDoc('Search Error', err)
});
})
and here's some of my repository
ipoModule.factory('ipoRepository', function($resource, $http) {
var genericGet = function(params, URL) {
return $http.get(URL, {
params: params
}).then(function(res) {
if (res.data) {
return res.data;
} else {
return null;
}
});
};
return {
getSearchResults: function(txt, chk, myPO) {
return genericGet({
SearchText: txt,
excludeCompleted: chk,
MyPO: myPO
}, '/Search/GetSearchResults');
},
getMvpPRs: function(id) {
return genericGet({
id: id
}, '/MvpUtility/GetMvpPRs')
}
}
});
... and now the module ...
var ipoModule = angular.module('ipoModule', ['ngRoute', 'ngResource', 'ngGrid', 'ui.bootstrap', 'unsavedChanges', 'ngIdle', 'ngTable'])
.config(function($routeProvider, $locationProvider, unsavedWarningsConfigProvider) {
//$locationProvider.html5Mode(true);
unsavedWarningsConfigProvider.useTranslateService = false;
});
$scope
being injected? – joemfb Apr 2 '15 at 16:54$scope
is undefined. Show us the rest of your controller – Tom Apr 2 '15 at 16:59