问题在于我有一个索引页面,其中包含我们可以调用的(部分)部分视图" A.html"使用控制器" ACtrl"由$ routeProvider分配,但在该局部视图中,我想使用不同的控制器为某些div使用ng-controller来包含" A1Ctrl"。
这可能吗?
不关注任何代码,但在概念中,如果这几乎不可能以及如何?
我试图在局部视图中包含类似的内容但没有成功:
A.html
... //Other stuff for this partial view
<div ng-controller="A1Ctrl">
{{message}}
</div>
... //这个局部视图的更多内容
我已将包含A1Ctrl的.js包含在索引页面中,结果相同。有提示吗?
更新
我在plnkr中创建了一个示例代码,以显示我想要做的事情:http://plnkr.co/edit/hdpLMK3DbzNdz2KeHPEB?p=preview
点击&#34后生成部分视图;打个招呼&#34;它有自己的模板(&#34; first.html&#34;)和控制器,由$ routeProvider注入。但是在first.html的局部视图中,我想添加一个只有代码段的控制器。但我无法提出任何建议吗?
我还尝试使用依赖注入来包含模块&#34; multilinguage&#34;到router.js没有成功,因为它似乎生成错误。
的index.html
<html ng-app="plunker">
<head>
... //Other imports
<script src="app.js"></script>
<script src="router.js"></script>
<script src="multilanguage.js"></script>
</head>
<body ng-controller="MainCtrl">
<p>Hello {{name}}!</p>
<a href="first">Say hi</a> |
<a href="second">Say bye</a>
<br/>
<div ng-view=""></div>
</body>
</html>
first.html
{{message}}
<div ng-controller="MultiLang">
{{message}}
</div>
router.js
var app = angular.module('router', ['ngRoute', 'multilanguage']).
config(function ($routeProvider, $locationProvider) {
$locationProvider.html5Mode(true);
$routeProvider.
when("/first", {
templateUrl: "first.html",
controller: "EngLang"
}).
when("/second", {
template: "Bye man!"
});
});
app.controller('EngLang', function($scope) {
$scope.message = 'Hi guys';
});
multilanguage.js
angular.module('multilanguage', []).
controller('MultiLang', function($scope){
$scope.message = "Hallo, Hola, Ciao, Ni Hao"
});
提前致谢。
答案 0 :(得分:0)
是的,您也可以使用嵌套控制器,例如:
<div ng-controller="A1Ctrl">
{{ message }}
<div ng-controller="subCtrl">
{{ message }}
</div>
</div>