I'm trying to load pages dynamically into a div
using a select
My HTML code :
<div ng-app="App" ng-controller="ProjectCtrl">
<div>
<select ng-model="selectedType" class="form-control" ng-change="showContent()" ng-options="type as type.text for type in types"></select>
</div>
<div>
<div ng-include src='getView()'></div>
</div>
</div>
My JS code :
$scope.showContent= function() {
$scope.getView = function() {
return $scope.selectedType.value ;
}
}
I got this error :
Error: [ng:areq] .2.2/ng/areq?p0=Ctrl&p1=not%20a%20function%2C%20got%20undefined
P.S: My views use angularJS too, and the idea is to get my page(View) from the select
.
"Ctrl" is the control name of the loaded page
I'm trying to load pages dynamically into a div
using a select
My HTML code :
<div ng-app="App" ng-controller="ProjectCtrl">
<div>
<select ng-model="selectedType" class="form-control" ng-change="showContent()" ng-options="type as type.text for type in types"></select>
</div>
<div>
<div ng-include src='getView()'></div>
</div>
</div>
My JS code :
$scope.showContent= function() {
$scope.getView = function() {
return $scope.selectedType.value ;
}
}
I got this error :
Error: [ng:areq] http://errors.angularjs/1.2.2/ng/areq?p0=Ctrl&p1=not%20a%20function%2C%20got%20undefined
P.S: My views use angularJS too, and the idea is to get my page(View) from the select
.
"Ctrl" is the control name of the loaded page
types
model look like?
– Jonathan Rowny
Commented
Feb 25, 2014 at 19:43
$routeProvider
with the ng-view
directive? If you are however set on this implementation or are using ngview
for something else: Can you give your full controller, and why is the getView()
function nested in another function?
– caffeinated.tech
Commented
Feb 25, 2014 at 19:44
src
must evaluate to a String value, representing the URL to be included.
Still, your code is messy. You can:
showContent
listener at allgetView
function and leave the expression selectedType.value
selectedType.value
must be a string, representing the URL See here: http://jsfiddle/E9rH4/1/
Watch the console error (see the url it tries to fetch).
Looks like $scope.selectedType.value is returning null. Try console.log
ging $scope.selectedType to see what you get. The function should return the full path.
Update After reviewing the plnk, it appears that you're trying to load an entire Angular app via ng-include. That's not what ng-include does, it just includes small templates. Here is the working plnkr