Onsen Ui & AngularJs: Delayed function after swipe gesture - angularjs

I´m using the swipe gesture to navigat to a page / template.
If I swipe to the left, I want to fade in / fade out the like-col for 5 Seconds.
If I swipe to the right, I want to fade in / fade out the pass-col for 5 Seconds.
After fading out the like-col or pass-col, both gestures should navigate to the template match1.html.
Currently the columns appear shortly after 5 seconds and it goes directly to the template match1.html
What am I doing wrong? Thank you for your tips.
var app = angular.module('myApp', ['onsen', 'ngSanitize', 'ngRoute', 'onsen.directives', 'ngTagsInput']);
app.controller('findPatientsController', function($scope, $route, $window, $timeout) {
$scope.startFindPatient = function() {
$timeout(function() {
findPatientsNavigator.pushPage('match1.html', {
animation: 'slide'
});
}, 1000);
};
$scope.swipe = {
active: false
};
$scope.onGestureMatch1 = function(gesture) {
if (gesture == 'Swipe Left') {
console.log('like');
$scope.swipe.like = !$scope.swipe.like;
$timeout(function() {
findPatientsNavigator.pushPage('match2.html', {
animation: 'slide'
});
}, 5000);
}
if (gesture == 'Swipe Right') {
console.log('pass');
$scope.swipe.pass = !$scope.swipe.pass;
$timeout(function() {
findPatientsNavigator.pushPage('match2.html', {
animation: 'slide'
});
}, 5000);
}
}
});
<ons-navigator animation="slide" ng-controller="findPatientsController" var="findPatientsNavigator">
<ons-page id="introFindPatientsPage">
<ons-toolbar>
<div class="left">
<ons-toolbar-button ng-click="slidingMenu.toggleMenu()">
<ons-icon icon="bars"></ons-icon>
</ons-toolbar-button>
</div>
<div class="center">
Schnellsuche
</div>
</ons-toolbar>
<ons-gesture-detector ng-swipeleft="onGestureStart('Swipe Left')" ng-swiperight="onGestureStart('Swipe Right')">
<div id="detect-area" style="width: 100%; height: 500px;">
<div class="searchInfo" ng-init="startFindPatient()">
<span class="searchText"><i class="fa fa-search"></i> Search...</span>
</div>
</div>
</ons-gesture-detector>
</ons-page>
<ons-template id="match1.html">
<ons-page id="match1Page">
<ons-toolbar>
<div class="left">
<ons-toolbar-button ng-click="slidingMenu.toggleMenu()">
<ons-icon icon="bars"></ons-icon>
</ons-toolbar-button>
</div>
<div class="center">
Neuer Match
</div>
</ons-toolbar>
<ons-gesture-detector ng-swipeleft="onGestureMatch1('Swipe Left')" ng-swiperight="onGestureMatch1('Swipe Right')">
<ons-row class="swipeRow">
<ons-col width="80px" ng-show="swipe.like" class="like-col col ons-col-inner">
<div class="info-unit">
<ons-icon icon="fa fa-star fa-likePass"></ons-icon>
</div>
</ons-col>
<ons-col class="id-col col ons-col-inner">
<div class="newMatch-id">peterson</div>
<div class="newMatch-birthdate">40 Jahre</div>
</ons-col>
<ons-col width="80px" ng-show="swipe.pass" class="pass-col col ons-col-inner">
<div class="info-unit">
<ons-icon icon="fa fa-times fa-likePass"></ons-icon>
</div>
</ons-col>
</ons-row>
<div class="newMatch">
<div ng-controller="GaugeController">
<div gauge-chart percent="matchGauge1"></div>
</div>
<ons-row>
<div class="matching-list-item-container">
<div class="heading-matching-list"><i class="fa fa-stethoscope"></i> Übereinstimmungen</div>
<div ng-controller="tagsMatchingController" class="matchingTag">
<div class="tags">
<ul class="tag-list">
<li class="tag-item">
<span class="ng-binding">Radiusfraktur</span>
</li>
<li class="tag-item">
<span class="ng-binding">Karpaltunnelsyndrom</span>
</li>
<li class="tag-item">
<span class="ng-binding">Ulnarisrinnen-Syndrom</span>
</li>
</ul>
</div>
</div>
</div>
</div>
</ons-row>
</ons-gesture-detector>
</ons-page>
</ons-template>
<ons-template id="match2.html">
<ons-page id="match2Page">
<ons-toolbar>
<div class="left">
<ons-toolbar-button ng-click="slidingMenu.toggleMenu()">
<ons-icon icon="bars"></ons-icon>
</ons-toolbar-button>
</div>
<div class="center">
Neuer Match
</div>
</ons-toolbar>
<ons-gesture-detector ng-swipeleft="onGestureMatch2('Swipe Left')" ng-swiperight="onGestureMatch2('Swipe Right')">
<div class="newMatch">
<div class="newMatch-id">findus</div>
<div class="newMatch-birthdate">32 Jahre</div>
<div ng-controller="GaugeController">
<div gauge-chart percent="matchGauge2"></div>
</div>
<ons-row>
<div class="matching-list-item-container">
<div class="heading-matching-list"><i class="fa fa-stethoscope"></i> Übereinstimmungen</div>
<div ng-controller="tagsMatchingController" class="matchingTag">
<div class="tags">
<ul class="tag-list">
<li class="tag-item">
<span class="ng-binding">Radiusfraktur</span>
</li>
<li class="tag-item">
<span class="ng-binding">Ulnarisrinnen-Syndrom</span>
</li>
</ul>
</div>
</div>
</div>
</div>
</ons-row>
</ons-gesture-detector>
</ons-page>
</ons-template>
</ons-navigator>

Related

Why Angular JS “ng-repeat” is not working?

I have this owl crousal :
<section id="intro">
<div class="sm-holder">
<div class="sm">
<i class="fab fa-facebook-f"></i>
<i class="fab fa-twitter"></i>
<i class="fab fa-instagram"></i>
<i class="fab fa-linkedin-in"></i>
</div>
</div>
<h1>
<span class="year">2020</span>
</h1>
<div class="owl-carousel owl-intro owl-loaded owl-drag">
<div class="owl-stage-outer">
<div class="owl-stage"
style="transform: translate3d(0px, 0px, 0px); transition: all 0.25s ease 0s; width: 21010px;">
<div class="owl-item cloned active">
<div class="item" style="background: url(../Administration/MainPageHeader/camels1.jpg)">
</div>
</div>
<div class="owl-item cloned">
<div class="item" style="background: url(../Administration/MainPageHeader/camels5.jpg)">
</div>
</div>
</div>
</div>
</div>
<div class="owl-counter"></div>
</section>
it work ok.
noW
I need to make it dyanmic.
i want to rpeat
and changing camels1.jpg based on value from DB.
I have created angualr app.
in my scope
I have
$http.get('http://192.168.1.40/Test/Apis/GetHeaderImages.ashx')
.then(function (response) {
$scope.headerImages = response.data;
var arr2 = JSON.parse(JSON.stringify(response.data));
$scope.headerImages = arr2;
});
here headerImages = 0: {Id: 5, ImageUrl: "camels7.jpg"} 1: {Id: 6, ImageUrl: "20202902051438KC.jpg"}
I did
أهلاَ بكم في
إتحاد سباقات الهجن
2020
<div class="owl-carousel owl-intro owl-loaded owl-drag">
<div class="owl-stage-outer" >
<div class="owl-stage"
style="transform: translate3d(0px, 0px, 0px); transition: all 0.25s ease 0s; width: 21010px;"id="owl-stage">
<div class="owl-item cloned" ng-repeat="x in headerImages" >
<div class="item" style="background: url(../Administration/MainPageHeader/{{x.ImageUrl}})">
</div>
</div>
</div>
</div>
</div>
</section>
<div class="owl-counter"></div>
got it working with asp.net tags
<div class="owl-carousel owl-intro">
<div class="item" style="background: url(../Administration/MainPageHeader/camels5.jpg)"></div>
<%foreach (var item in imagesUrl)
{%>
<div class="item" style="background: url(<%=item %>)">
</div>
<%
} %>
</div>
<div class="owl-counter"></div>
so ng-repeat was not repeating dives
You should assign it to $scope.headerImages rather than headerImages in API callback.
$scope.headerImages = arr2;

How to apply ng-repeat on carousel with multiple items using angular js?

<div class="carousel slide" id="myCarousel">
<div class="carousel-inner">
<div class="item active">
<div class="row">
<div class="col-md-3 home__li-align" ng-
repeat="electronic in allItem.slice(0,4) | filter :enter code here 'electronics'">
<a ui-sref="" ng-click="`enter code here`view(mobile)">
<img ng-src="../asset/img/{{electronic.image[0]}}" alt="Not Found" style="height: 200px;width:50%;" />
<div class="home__label-align">{{electronic.product_name}}</div>
<div class="home__label-align"> ₹: {{electronic.cost}}</div>
</a>
</div>
</div>
</div>
<div class="item">
<div class="row">
<div class="col-md-3 home__li-align" ng-repeat="electronic in allItem.slice(4,8) | filter : 'electronics'">
<a ui-sref="" ng-click="view(mobile)">
<img ng-src="../asset/img/{{electronic.image[0]}}" alt="Not Found" style="height: 200px;width:50%;" />
<div class="home__label-align">{{electronic.product_name}}</div>
<div class="home__label-align"> ₹: {{electronic.cost}}</div>
</a>
</div>
</div>
</div>
</div>
<a class="left carousel-control" href="#myCarousel" data-slide="prev" style="margin-bottom: 70px; margin-left: -70px; color: black;"><i class="glyphicon glyphicon-chevron-left" ></i></a>
<a class="right carousel-control" href="#myCarousel" data-slide="next" style="margin-bottom: 70px; margin-right: -70px; color: black;"><i class="glyphicon glyphicon-chevron-right"></i></a>
</div>
Only item active class is working and i want 4 div in one slide of carousel then on clicking carousel control. It should bring next carousel having 4 div.So any Solution of that?
I can understand your problem and i created solution fiddle please follow below link.
<script>
var myApp = angular.module('myApp',[]);
//myApp.directive('myDirective', function() {});
//myApp.factory('myService', function() {});
myApp.controller("MyCtrl",MyCtrl);
function MyCtrl($scope) {
$scope.list = [];
for(var i = 0; i< 16;i++){
$scope.list.push(i);
}
}
</script>
<div ng-app="myApp" ng-controller="MyCtrl">
<div id="carousel-example-generic" class="carousel slide" data-ride="carousel">
<!-- Indicators -->
<ol class="carousel-indicators">
<li data-target="#carousel-example-generic" data-slide-to="0" class="active"></li>
<li data-target="#carousel-example-generic" data-slide-to="1"></li>
<li data-target="#carousel-example-generic" data-slide-to="2"></li>
</ol>
<!-- Wrapper for slides -->
<div class="carousel-inner" role="listbox">
<div class="item active">
<div class="row">
<div class="col-sm-3" style="height:100px; background:red; color:green; font-size:18px;" ng-repeat="l in list.slice(0,4)">
Hello {{l}}
</div>
</div>
</div>
<div class="item">
<div class="row">
<div class="col-sm-3" style="height:100px; background:red; color:green; font-size:18px;" ng-repeat="l in list.slice(4,8)">
Hello {{l}}
</div>
</div>
</div>
<div class="item">
<img src="http://placehold.it/450x350" alt="Slide 3">
<div class="carousel-caption">
Caption Slide 3
</div>
</div>
</div>
<!-- Controls -->
<a class="left carousel-control" href="#carousel-example-generic" role="button" data-slide="prev">
<span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</a>
<a class="right carousel-control" href="#carousel-example-generic" role="button" data-slide="next">
<span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</a>
</div>
</div>
http://jsfiddle.net/r2wLz6xr/507/

Angular Slider code not changing slides

I am using a bootstrap slider using the HTML code and CSS.
BUt the slides are not changing automatically or manually.
below is the code of slider.
(function( $ ) {
//Function to animate slider captions
function doAnimations( elems ) {
//Cache the animationend event in a variable
var animEndEv = 'webkitAnimationEnd animationend';
elems.each(function () {
var $this = $(this),
$animationType = $this.data('animation');
$this.addClass($animationType).one(animEndEv, function () {
$this.removeClass($animationType);
});
});
}
//Variables on page load
var $myCarousel = $('#carousel-example-generic'),
$firstAnimatingElems = $myCarousel.find('.item:first').find("[data-animation ^= 'animated']");
//Initialize carousel
$myCarousel.carousel();
//Animate captions in first slide on page load
doAnimations($firstAnimatingElems);
//Pause carousel
$myCarousel.carousel('pause');
//Other slides to be animated on carousel slide event
$myCarousel.on('slide.bs.carousel', function (e) {
var $animatingElems = $(e.relatedTarget).find("[data-animation ^= 'animated']");
doAnimations($animatingElems);
});
$('#carousel-example-generic').carousel({
interval:3000,
pause: "false"
});
})(jQuery);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
<link rel="stylesheet" href="http://cdn.bootcss.com/animate.css/3.5.1/animate.min.css">
<div id="first-slider">
<div id="carousel-example-generic" class="carousel slide carousel-fade">
<!-- Indicators -->
<ol class="carousel-indicators">
<li data-target="#carousel-example-generic" data-slide-to="0" class="active"></li>
<li data-target="#carousel-example-generic" data-slide-to="1"></li>
<li data-target="#carousel-example-generic" data-slide-to="2"></li>
<li data-target="#carousel-example-generic" data-slide-to="3"></li>
</ol>
<!-- Wrapper for slides -->
<div class="carousel-inner" role="listbox">
<!-- Item 1 -->
<div class="item active slide1">
<div class="row">
<div class="container">
<div class="col-md-3 text-right">
<img style="max-width: 200px;" data-animation="animated zoomInLeft" src="http://s20.postimg.org/pfmmo6qj1/window_domain.png">
</div>
<div class="col-md-9 text-left">
<h3 data-animation="animated bounceInDown">Add images, or even your logo!</h3>
<h4 data-animation="animated bounceInUp">Easily use stunning effects</h4>
</div>
</div>
</div>
</div>
<!-- Item 2 -->
<div class="item slide2">
<div class="row">
<div class="container">
<div class="col-md-7 text-left">
<h3 data-animation="animated bounceInDown"> 50 animation options A beautiful</h3>
<h4 data-animation="animated bounceInUp">Create beautiful slideshows </h4>
</div>
<div class="col-md-5 text-right">
<img style="max-width: 200px;" data-animation="animated zoomInLeft" src="http://s20.postimg.org/sp11uneml/rack_server_unlock.png">
</div>
</div>
</div>
</div>
<!-- Item 3 -->
<div class="item slide3">
<div class="row">
<div class="container">
<div class="col-md-7 text-left">
<h3 data-animation="animated bounceInDown">Simple Bootstrap Carousel</h3>
<h4 data-animation="animated bounceInUp">Bootstrap Image Carousel Slider with Animate.css</h4>
</div>
<div class="col-md-5 text-right">
<img style="max-width: 200px;" data-animation="animated zoomInLeft" src="http://s20.postimg.org/eq8xvxeq5/globe_network.png">
</div>
</div>
</div>
</div>
<!-- Item 4 -->
<div class="item slide4">
<div class="row">
<div class="container">
<div class="col-md-7 text-left">
<h3 data-animation="animated bounceInDown">We are creative</h3>
<h4 data-animation="animated bounceInUp">Get start your next awesome project</h4>
</div>
<div class="col-md-5 text-right">
<img style="max-width: 200px;" data-animation="animated zoomInLeft" src="http://s20.postimg.org/9vf8xngel/internet_speed.png">
</div>
</div>
</div>
</div>
<!-- End Item 4 -->
</div>
<!-- End Wrapper for slides-->
<a class="left carousel-control" href="#carousel-example-generic" role="button" data-slide="prev">
<i class="fa fa-angle-left"></i>
<span class="sr-only">Previous</span>
</a>
<a class="right carousel-control" href="#carousel-example-generic" role="button" data-slide="next">
<i class="fa fa-angle-right"></i>
<span class="sr-only">Next</span>
</a>
</div>
</div>
<!doctype html>
<html ng-app="plunker" >
<head>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.0.8/angular.js"> </script>
<script src="http://angular-ui.github.io/bootstrap/ui-bootstrap-tpls-0.6.0.js"> </script>
<script src="app.js"></script>
<!-- adding css files -->
<link href="https://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.1/css/bootstrap-combined.min.css" rel="stylesheet">
</head>
<body>
<div class="container" ng-controller="CarouselCtrl">
<div class="offsetspan6">
<carousel interval="myInterval">
<slide ng-repeat="slide in slides" active="slide.active">
<img class="image-circle" ng-src="{{slide.image}}" style="margin:auto;"/>
<div class="carousel-caption">
<h4>Slide {{$index}}</h4>
<p>{{slide.text}}</p>
</div>
</slide>
</carousel>
</div>
</div>
</div>
</body>
<script type="text/javascript">
//angular.module('myApp', ['ui.bootstrap']);
var app = angular.module('plunker', ['ui.bootstrap']);
// Controller for Carousel
function CarouselCtrl($scope) {
// initializing the time Interval
$scope.myInterval = 1000;
// Initializing slide rray
$scope.slides = [
{image:'http://www.wetwebmedia.com/fwsubwebindex/Cyprinodontiform%20PIX/Platy%20PIX/Xiphophorus%20maculatusAQ%20Neon%20female.jpg',text:'Cute Fish'},
{image:'http://www.wetwebmedia.com/fwsubwebindex/Cyprinodontiform%20PIX/Platy%20PIX/Xiphophorus%20maculatusAQ%20Neon%20female.jpg',text:'Image2'},
{image:'http://www.wetwebmedia.com/fwsubwebindex/Cyprinodontiform%20PIX/Swordtail%20PIX/Xiphophorus%20helleriAQ%20Hifin%20Black%20males.jpg',text:'Image3'},
{image:'http://www.wetwebmedia.com/fwsubwebindex/Cyprinodontiform%20PIX/Platy%20PIX/Xiphophorus%20maculatusAQ%20Neon%20female.jpg',text:'Image4'}
];
var slides = $scope.slides;
console.log(slides);
} // Controller Ends here
</script>
</html>

Angular ng-click onsen

So im new to coding and i cant seem to figure out some issue that i have.
<ons-row ng-click="myNavigator.pushPage('{{building.file}}.html')">
So i started and the {{ building.file }} isn't going to the url. can someone help me or explain why it isnt workking? here is my complete code
<div ng-init="buildings = [
{name:'name1',file:'file1', location:'location1', image:'images/img1.jpg', number:'(123) 400-0000'},
{name:'name2',file:'file2', location:'location2', image:'images/img2.jpg', number:'(123) 400-0000'},
{name:'name3',file:'file3', location:'location3', image:'images/img3.jpg', number:'(123) 400-0000'},
]">
<!--There Are {{buildings.length}} restaurants-->
<input type="search" ng-model="q" class="search-input" placeholder="Search..." />
<br />
<ons-list >
<ons-list-item modifier="chevron" class="list-item-container" ng-repeat="building in buildings | filter:q as results">
<ons-row ng-click="myNavigator.pushPage('/' + {{building.file}} + '.html')">
<ons-col width="95px">
<img src="{{building.image}}" class="thumbnail">
</ons-col>
<ons-col>
<div class="name">
{{building.name}}
</div>
<div class="location">
<i class="fa fa-map-marker"></i> {{building.location}}
</div>
<div class="desc">
{{building.number}}
</div>
</ons-col>
<ons-col width="40px"></ons-col>
</ons-row>
</ons-list-item>
</ons-list>
<ul class="example-animate-container">
<li class="animate-repeat" ng-if="results.length == 0">
<strong>No results found...</strong>
</li>
<li class="animate-repeat" ng-if="results.length == 555">
<strong>No results found...</strong>
</li>
</ul>
I don't have your exact code but i think u should not use expression within function call. I created sample demonstration for your app Demo. Please check on console by clicking on name. it logs correct url. Hope this helps!
<div ng-click="pushPage('/' + building.file + '.html')">
{{building.name}}
</div>
I don't see the ons-navigator in your code. The easiest way in angular is to use a var for ons-navigator and then you can use myNavigator.pushPage('name')
<ons-navigator var="myNavigator">
<ons-page>
<ons-row ng-click="myNavigator.pushPage('file.html')" > My Row </ons-row>
</ons-page>
</ons-navigator>
<ons-template id="file.html">
<ons-page>
My Content
</ons-page>
</ons-template>

Onsen UI Menu Not Responding

I'm using the Onsen UI as a part of the Sensation App. I'm trying to duplicate a page and have duplicated the html pages, data.js, and app.js with the appropriate information. Whenever I launch the app to my phone, I try to click my new page. It doesn't load. I also can't open any other page on my sensation. Please help. Thanks!
//Data.JS
var sensationApp = angular.module('sensationApp');
// Home Data: Home page configuration
sensationApp.factory('Data', function(){
var data = {};
data.items = [
{
title: 'ABOUT BN',
icon: 'home',
page: 'aboutbn-master.html'
},
{
title: 'ABOUT ALPHA',
icon: 'university',
page: 'posts.html'
},
{
title: 'LINEAGE',
icon: 'sort-numeric-asc',
page: 'categories.html'
},
{
title: 'BNSTYLE',
icon: 'shopping-cart',
page: 'products.html'
},
{
title: 'BNTUNE',
icon: 'cloud-upload',
page: 'news.html'
},
{
title: 'BNVOLVED',
icon: 'users',
page: 'contact.html'
},
{
title: 'GALLERY',
icon: 'camera',
page: 'gallery.html'
},
{
title: 'EVENTS',
icon: 'calendar',
page: 'serverposts.html'
},
{
title: 'THE TORCH',
icon: 'fire',
page: 'categories.html'
}
];
return data;
});
sensationApp.factory('AboutBNData', function(){
var data = { url: 'http://bnorbeout.com/?json=get_category_posts&slug=events&' };
return data;
});
//home.html
<ons-navigator title="BNorBeOut" var="appNavigator">
<ons-page ng-controller="HomeController">
<ons-toolbar fixed-style>
<div class="left">
<ons-toolbar-button onclick="menu.toggleMenu()">
<ons-icon icon="bars">
</ons-toolbar-button>
</div>
<div class="center">BNorBeOut</div>
<div class="right">
<ons-toolbar-button onclick="appNavigator.pushPage('contact.html',{title: 'CONTACT US', animation: 'slide'})">
<ons-icon icon="envelope">
</ons-toolbar-button>
</div>
</ons-toolbar>
<ons-scroller>
<section style="padding: 0 10px 0 0;">
<center><img ng-src="img/BNLogo.png" alt="The House that Chapman Built"/></center>
</section>
<section class="home-grid">
<div class="grid-menu">
<div class="centering-and-alignment" ng-repeat="row in items | partition:3">
<div class="grid-menu-item list__item list__item--tappable" ng-repeat="item in row" ng-click="showDetail(($parent.$index*row.length)+$index);">
<ons-icon style="color: #BB8B09" icon="{{item.icon}}"></ons-icon>
<div class="grid-menu-item-label">{{item.title}}</div>
</div>
</div>
</div>
<ons-list class="list-top">
<ons-list-header>BUY TICKETS</ons-list-header>
<ons-list-item modifier="chevron" ng-click="loadURL(http://tallahassee.moonevents.com/events/chillmatic-0)">
<ons-row>
<center><img ng-src="img/Chillmatic2015.jpg" alt="Chillmatic 2015"/></center>
</ons-col>
</ons-row>
</ons-list-item>
</ons-list>
<ons-list class="list-top">
<ons-list-header>CONTACT</ons-list-header>
<ons-list-item modifier="chevron" ng-click="appNavigator.pushPage('parameters-master.html')">
<ons-row>
<ons-col width="15%">
<ons-icon icon="level-up" fixed-width="true"></ons-icon>
</ons-col>
<ons-col class="left">
2115 S. Martin Luther King Jr. Blvd., Tallahassee, FL 32301
</ons-col>
</ons-row>
<ons-row>
<ons-col width="15%">
<ons-icon icon="level-up" fixed-width="true"></ons-icon>
</ons-col>
<ons-col class="left">
414-841-2407
</ons-col>
</ons-row>
</ons-list-item>
</ons-list>
</section>
</ons-scroller>
</ons-page>
</ons-navigator>
//AboutBN-Master.html
<ons-page ng-controller="AboutBNController">
<ons-toolbar>
<div class="left"><ons-back-button>Back</ons-back-button></div>
<div class="center">Events</div>
</div>
</ons-toolbar>
<ons-pull-hook ng-action="load($done)" var="loader">
<span ng-switch="loader.getCurrentState()">
<span ng-switch-when="initial"><ons-icon size="35px" icon="ion-arrow-down-a"></ons-icon> Pull down to refresh</span>
<span ng-switch-when="preaction"><ons-icon size="35px" icon="ion-arrow-up-a"></ons-icon> Release to refresh</span>
<span ng-switch-when="action"><ons-icon size="35px" spin="true" icon="ion-load-d"></ons-icon> Loading data...</span>
</span>
</ons-pull-hook>
<section style="padding: 10px;">
<ons-list class="status-bar feeds">
<ons-list-item>{{status_bar}}</ons-list-item>
</ons-list>
<ons-row style="padding: 10px 0 20px 0;">
<input type="search" placeholder="Search" class="search-input" ng-model="search">
</ons-row>
<div ng-repeat="post in getAboutBN()">
<ons-row style="padding: 0 0 20px 0;">
<ons-col>
<h3 class="title" ng-bind-html="post.title" ng-click="showSearchDetail($index)"></h3>
<a ng-click="showSearchDetail($index)">
<img class="post-teaser-image" ng-src="{{post.attachments[0].images.thumbnail.url}}" ng-show="{{post.attachments.length}}"/>
</a>
<p class="post-excerpt" ng-bind-html="post.excerpt"></p>
<ons-button class="post-teaser" modifier="quiet" ng-click="showSearchDetail($index)">Read more</ons-button>
</ons-col>
</ons-row>
</div>
<ons-list class="status-bar feeds">
<ons-list-item>{{status_bar}}</ons-list-item>
</ons-list>
<ons-row align="center">
<ons-col>
<ons-button ng-show="hasMoreItems()" ng-click="showMoreItems()" class="load-show-more"><i class="fa fa-angle-double-down more-icon"></i>Load more</ons-button>
</ons-col>
</ons-row>
<ons-row align="center" class="status-message">
<ons-col>
<span class="loading"><i class="fa fa-spin fa-circle-o-notch"></i> Loading</span>
<span ng-bind="msg"></span>
</ons-col>
</ons-row>
</section>
</ons-page>
I found out the issue. I had to name the controllers differently in app.js. The master controller should match the data throughout, and the detail control should only be referenced once.

Resources