I've been muddling through with an AngularJS app I've been working on with the Ionic framework as a bit of a stomping ground for the last week or so and I've hit a bit of a roadblock in as much as I can't seem to get one of the pages to populate from some variables I've set up on the scope in the controller. The code I've written is below.
//THIS IS THE RELEVANT CONTROLLER, THE OTHERS WORK FINE AND DO WHAT I WOULD EXPECT
.controller('questionsCtrl', function($scope) {
$scope.getHelp = function(id) {
console.log("Function entered");
console.log("ID: " + id);
$scope.getHelpCategory = $scope.questions[id].category;
console.log("Category: " + $scope.getHelpCategory);
$scope.getHelpText = $scope.questions[id].hText;
console.log("Text: " + $scope.getHelpText);
$scope.getHelpImg = $scope.questions[id].hImg;
console.log("Image URL: " + $scope.getHelpImg);
}
$scope.questions = [
{
id: 1,
category: 'Category',
qText: 'Lorem praesent sodales mi curabitur dignissim dictumst condimentum vel vestibulum nostra ullamcorper a lacinia a a consectetur dui purus enim congue a parturient fermentum ligula.Sed a torquent a per ullamcorper a nibh parturient a non morbi at ante tincidunt vestibulum nam.Imperdiet sit eget?',
hText: 'Lorem praesent sodales mi curabitur dignissim dictumst condimentum vel vestibulum nostra ullamcorper a lacinia a a consectetur dui purus enim congue a parturient fermentum ligula.Sed a torquent a per ullamcorper a nibh parturient a non morbi at ante tincidunt vestibulum nam.Imperdiet sit eget.',
hImg: '../images/help/q/help.png'
},
{
id: 2,
category: 'Category',
qText: 'Lorem praesent sodales mi curabitur dignissim dictumst condimentum vel vestibulum nostra ullamcorper a lacinia a a consectetur dui purus enim congue a parturient fermentum ligula.Sed a torquent a per ullamcorper a nibh parturient a non morbi at ante tincidunt vestibulum nam.Imperdiet sit eget?',
hText: 'Lorem praesent sodales mi curabitur dignissim dictumst condimentum vel vestibulum nostra ullamcorper a lacinia a a consectetur dui purus enim congue a parturient fermentum ligula.Sed a torquent a per ullamcorper a nibh parturient a non morbi at ante tincidunt vestibulum nam.Imperdiet sit eget.',
hImg: '../images/help/q/help.png'
},
{
id: 3,
category: 'Category',
qText: 'Lorem praesent sodales mi curabitur dignissim dictumst condimentum vel vestibulum nostra ullamcorper a lacinia a a consectetur dui purus enim congue a parturient fermentum ligula.Sed a torquent a per ullamcorper a nibh parturient a non morbi at ante tincidunt vestibulum nam.Imperdiet sit eget?',
hText: 'Lorem praesent sodales mi curabitur dignissim dictumst condimentum vel vestibulum nostra ullamcorper a lacinia a a consectetur dui purus enim congue a parturient fermentum ligula.Sed a torquent a per ullamcorper a nibh parturient a non morbi at ante tincidunt vestibulum nam.Imperdiet sit eget.',
hImg: '../images/help/q/help.png'
},
{
id: 4,
category: 'Category',
qText: 'Lorem praesent sodales mi curabitur dignissim dictumst condimentum vel vestibulum nostra ullamcorper a lacinia a a consectetur dui purus enim congue a parturient fermentum ligula.Sed a torquent a per ullamcorper a nibh parturient a non morbi at ante tincidunt vestibulum nam.Imperdiet sit eget?',
hText: 'Lorem praesent sodales mi curabitur dignissim dictumst condimentum vel vestibulum nostra ullamcorper a lacinia a a consectetur dui purus enim congue a parturient fermentum ligula.Sed a torquent a per ullamcorper a nibh parturient a non morbi at ante tincidunt vestibulum nam.Imperdiet sit eget.',
hImg: '../images/help/q/help.png'
},
{
id: 5,
category: 'Category',
qText: 'Lorem praesent sodales mi curabitur dignissim dictumst condimentum vel vestibulum nostra ullamcorper a lacinia a a consectetur dui purus enim congue a parturient fermentum ligula.Sed a torquent a per ullamcorper a nibh parturient a non morbi at ante tincidunt vestibulum nam.Imperdiet sit eget?',
hText: 'Lorem praesent sodales mi curabitur dignissim dictumst condimentum vel vestibulum nostra ullamcorper a lacinia a a consectetur dui purus enim congue a parturient fermentum ligula.Sed a torquent a per ullamcorper a nibh parturient a non morbi at ante tincidunt vestibulum nam.Imperdiet sit eget.',
hImg: '../images/help/q/help.png'
},
{
id: 6,
category: 'Category',
qText: 'Lorem praesent sodales mi curabitur dignissim dictumst condimentum vel vestibulum nostra ullamcorper a lacinia a a consectetur dui purus enim congue a parturient fermentum ligula.Sed a torquent a per ullamcorper a nibh parturient a non morbi at ante tincidunt vestibulum nam.Imperdiet sit eget?',
hText: 'Lorem praesent sodales mi curabitur dignissim dictumst condimentum vel vestibulum nostra ullamcorper a lacinia a a consectetur dui purus enim congue a parturient fermentum ligula.Sed a torquent a per ullamcorper a nibh parturient a non morbi at ante tincidunt vestibulum nam.Imperdiet sit eget.',
hImg: '../images/help/q/help.png'
},
{
id: 7,
category: 'Category',
qText: 'Lorem praesent sodales mi curabitur dignissim dictumst condimentum vel vestibulum nostra ullamcorper a lacinia a a consectetur dui purus enim congue a parturient fermentum ligula.Sed a torquent a per ullamcorper a nibh parturient a non morbi at ante tincidunt vestibulum nam.Imperdiet sit eget?',
hText: 'Lorem praesent sodales mi curabitur dignissim dictumst condimentum vel vestibulum nostra ullamcorper a lacinia a a consectetur dui purus enim congue a parturient fermentum ligula.Sed a torquent a per ullamcorper a nibh parturient a non morbi at ante tincidunt vestibulum nam.Imperdiet sit eget.',
hImg: '../images/help/q/help.png'
},
{
id: 8,
category: 'Category',
qText: 'Lorem praesent sodales mi curabitur dignissim dictumst condimentum vel vestibulum nostra ullamcorper a lacinia a a consectetur dui purus enim congue a parturient fermentum ligula.Sed a torquent a per ullamcorper a nibh parturient a non morbi at ante tincidunt vestibulum nam.Imperdiet sit eget?',
hText: 'Lorem praesent sodales mi curabitur dignissim dictumst condimentum vel vestibulum nostra ullamcorper a lacinia a a consectetur dui purus enim congue a parturient fermentum ligula.Sed a torquent a per ullamcorper a nibh parturient a non morbi at ante tincidunt vestibulum nam.Imperdiet sit eget.',
hImg: '../images/help/q/help.png'
},
{
id: 9,
category: 'Category',
qText: 'Lorem praesent sodales mi curabitur dignissim dictumst condimentum vel vestibulum nostra ullamcorper a lacinia a a consectetur dui purus enim congue a parturient fermentum ligula.Sed a torquent a per ullamcorper a nibh parturient a non morbi at ante tincidunt vestibulum nam.Imperdiet sit eget?',
hText: 'Lorem praesent sodales mi curabitur dignissim dictumst condimentum vel vestibulum nostra ullamcorper a lacinia a a consectetur dui purus enim congue a parturient fermentum ligula.Sed a torquent a per ullamcorper a nibh parturient a non morbi at ante tincidunt vestibulum nam.Imperdiet sit eget.',
hImg: '../images/help/q/help.png'
},
{
id: 10,
category: 'Category',
qText: 'Lorem praesent sodales mi curabitur dignissim dictumst condimentum vel vestibulum nostra ullamcorper a lacinia a a consectetur dui purus enim congue a parturient fermentum ligula.Sed a torquent a per ullamcorper a nibh parturient a non morbi at ante tincidunt vestibulum nam.Imperdiet sit eget?',
hText: 'Lorem praesent sodales mi curabitur dignissim dictumst condimentum vel vestibulum nostra ullamcorper a lacinia a a consectetur dui purus enim congue a parturient fermentum ligula.Sed a torquent a per ullamcorper a nibh parturient a non morbi at ante tincidunt vestibulum nam.Imperdiet sit eget.',
hImg: '../images/help/q/help.png'
}
]
})
/*THE CSS IS JUST THE STANDARD IONIC CSS FOR THESE PAGES*/
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<!-- THIS IS THE PAGE WHERE THE USER WILL HIT THE HELP BUTTON AND (IN THEORY) GET THE HELP RELEVANT TO THAT QUESTION -->
<ion-view title="Questions">
<ion-content overflow-scroll="true" padding="true">
<div class="spacer" style="width:100%; height:25px;"></div>
<h1>Questions</h1>
<div>
<p>
Please answer the below questions to the best of your ability, providing photographs of relevant items when prompted.
Failure to answer all questions and thus submitting an invalid form will void your submission and you or someone else may have to go
through them all again so please be careful, and tap the help icon (<span class="icon ion-help"></span>) if you need examples.
</p>
</div>
<div class="spacer" style="width: 285px; height: 60px;"></div>
<div ng-repeat="question in questions">
<p>
<strong>QUESTION {{question.id}}</strong><br /><br />{{question.qText}}
</p>
<div class="button-bar">
<button class="button button-stable button-block" style="max-width:43.25%;" ng-click="">Yes</button>
<button class="button button-stable button-block" style="max-width:43.25%;" ng-click="">No</button>
<a class="button button-stable button-block button-small icon ion-help"style="max-width: 12.5%;" ng-click="getHelp(question.id)" href="#/help"></a>
</div>
<div class="spacer" style="width: 285px; height: 50px;"></div>
</div>
<button class="button button-balanced button-block">Submit answers</button>
<div class="spacer" style="width:100%; height:50px;"></div>
</ion-content>
</ion-view>
<!-- THIS IS THE HELP PAGE -->
<ion-view title="Help" >
<ion-content overflow-scroll="true" padding="true">
<div class="header">
<h1 class="headerText">Help</h1>
</div>
<div class="body">
<h2>{{ getHelpCategory }}</h2>
<p>{{ getHelpText }}</p>
<img ng-src="{{ getHelpImg }}"/>
</div>
</ion-content>
</ion-view>
So the issue that I'm having is the {{getHelpCategory}}
, {{getHelpText}}
, and {{getHelpImg}}
parts are not being populated in the page, yet when I look in the console to see the logs, all the data is there (as shown below)
I'm still quite new to the Ionic framework and AngularJS in general so if anyone could advise as to why this is happening I'd really appreciate it.
EDIT: Have placed the code for this project into my repo at https://github.com/ollyjohn/IONIC_HELP Any help is much appreciated.