使用angularJS将页面动态加载到div中

时间:2014-02-25 19:22:35

标签: javascript angularjs html

我正在尝试使用div

将页面动态加载到select

我的HTML代码:

<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>

我的JS代码:

$scope.showContent= function() {
        $scope.getView = function() {
           return $scope.selectedType.value ;
        }
}

我收到了这个错误:

错误:[ng:areq] http://errors.angularjs.org/1.2.2/ng/areq?p0=Ctrl&p1=not%20a%20function%2C%20got%20undefined

P.S:我的观点也使用angularJS,其目的是从select获取我的页面(View)。 “Ctrl”是已加载页面的控件名称

2 个答案:

答案 0 :(得分:2)

src必须求值为String值,表示要包含的URL。

仍然,你的代码很乱。你可以:

  1. 删除showContent听众
  2. 删除getView函数并保留表达式selectedType.value
  3. selectedType.value必须是字符串,表示网址
  4. 见这里:http://jsfiddle.net/E9rH4/1/

    观察控制台错误(请参阅它尝试获取的网址)。

答案 1 :(得分:1)

看起来$ scope.selectedType.value返回null。试试console.log ging $ scope.selectedType来看看你得到了什么。该函数应返回完整路径。

<强>更新 在查看了plnk后,您似乎正在尝试通过ng-include加载整个Angular应用程序。这不是ng-include的功能,它只包含小模板。这是工作plnkr