Javascript ng包含在ng包含中,两者都绑定到不同的控制器
我有一个ng include,它指向一个绑定到childcontroller的child.html,parent.html文件绑定到parentcontroller,在child.html文件中有另一个ng include,它指向一个绑定到孙子控制器的孙子.html。问题是granter.html无法识别控制器 chrome上的控制台错误为 angular.js:15567 TypeError:无法读取未定义的属性“x”Javascript ng包含在ng包含中,两者都绑定到不同的控制器,javascript,html,angularjs,Javascript,Html,Angularjs,我有一个ng include,它指向一个绑定到childcontroller的child.html,parent.html文件绑定到parentcontroller,在child.html文件中有另一个ng include,它指向一个绑定到孙子控制器的孙子.html。问题是granter.html无法识别控制器 chrome上的控制台错误为 angular.js:15567 TypeError:无法读取未定义的属性“x” at grandchildcontroller(core.js:18) a
at grandchildcontroller(core.js:18)
at Object.invoke (angular.js:5141)
at $controllerInit (angular.js:11704)
at nodeLinkFn (angular.js:10517)
at compositeLinkFn (angular.js:9832)
at publicLinkFn (angular.js:9697)
at Object.link (angular.js:29821)
at angular.js:1388
at invokeLinkFn (angular.js:11266)
at nodeLinkFn (angular.js:10585)
"<div ng-include="'...../grandChild.html'" class="ng-scope" data-ng-animate="1">"
控制器上的(core.js:18)
在Object.invoke(angular.js:5141)
在$controllerInit(angular.js:11704)
在nodeLinkFn(angular.js:10517)
在compositeLinkFn(angular.js:9832)
在publicLinkFn(angular.js:9697)
在Object.link(angular.js:29821)
在angular.js:1388
在invokeLinkFn(angular.js:11266)
在nodeLinkFn(angular.js:10585)
""
我试着跟着
试试1。将
放入child.html
和www.controller.html中的
我得到的错误是
错误:[$injector:unpr]未知提供程序:$modalInstanceProvider为层次结构中的每个控制器分配不同的实例名称:
<div ng-controller="childcontroller as vm1">
<div ng-controller="grandchildcontroller as vm2">
<input ng-model="vm1.child">
<input ng-model="vm2.grandchild">
</div>
</div>
这使模板更清晰,避免了潜在的数据隐藏问题。上面尝试过,但无效。谢谢你的主意。我希望你能分享一个示例代码吗?从错误消息看,
childcontroller
缺少$modalInstance
的注入。您可以共享childcontroller代码吗?完全更改了所有内容,甚至没有使用相同的代码,因此我不知道是否应该关闭此问题,因为我所做的不是解决此问题的方法。
<div ng-controller="childcontroller as vm1">
<div ng-controller="grandchildcontroller as vm2">
<input ng-model="vm1.child">
<input ng-model="vm2.grandchild">
</div>
</div>