我遇到了控制器实例的问题。
我有一个使用此模块的简单导航树:http://nickperkinslondon.github.io/angular-bootstrap-nav-tree/test/bs3_ng120_test_page.html
我在任何叶子上添加了一个双击功能,以及一个编译的指令,并使用此模块打开一个窗口:http://codepen.io/m-e-conroy/pen/cFKkG
该窗口包含几个选项卡,其中一个选项卡必须包含另一个导航树,就像第一个导航树一样,但具有不同的数据。
我也在使用http://www.simplygoodcode.com/2014/04/angularjs-getting-around-ngapp-limitations-with-ngmodule/,因此我可以在同一页面上拥有多个应用。
问题是,必须加载的第二个导航树不起作用。我在这种方式发送的html中声明它(moduleAbn是包含在开始时加载的第一个.js中的变量,引用模块App1):
<script> moduleAbn.controller('AbnTestController2',['\$scope','\$http','\$timeout','\$compile',function(\$scope,\$http,\$timeout,\$compile){
...}]);</script>
<div ng-module='App1'> <div ng-controller='Controller2'>
执行此操作,控制台显示着名的 Controller2不是函数,未定义。
奇怪的是,如果我用第一个导航树控制器的名称声明它
<div ng-module='App1'> <div ng-controller='Controller1'>
导航树出现,其数据与第一个相同,但似乎独立于另一个。
我真的不知道如何处理来自第一棵树的不同数据...
如果我不清楚,英语不是我的母语,所以如果你有任何问题我可以更具体;)
干杯!
答案 0 :(得分:0)
您应该在定义时将AbnTestController2
重命名为Controller2
,或将ng-controller=
中的名称从Controller2
更改为AbnTestController2
。
您需要检查的第二件事是App1
将模块AbnTest
作为依赖项:
var App1 = angular.module('App1', ['AbnTest'])