問題是,我有一個索引頁,帶有一個(部分)部分視圖,我們可以通過一個控制器來調用「A.html」 ACtrl「由$ routeProvider分配,但在該部分視圖中,我想爲使用ng-controller的某些div使用不同的控制器來包含」A1Ctrl「。
這可能嗎?
不專注於任何代碼,但在概念如果這幾乎不可能和如何?
我試圖在局部視圖這樣的事情沒有成功,包括:
A.html
... //Other stuff for this partial view
<div ng-controller="A1Ctrl">
{{message}}
</div>
... //更多的東西這個局部視圖
我有包括.js,其中A1Ctrl被定義到索引頁面,結果相同。任何提示?
UPDATE:
我創建plnkr樣本代碼來說明我想做的事:http://plnkr.co/edit/hdpLMK3DbzNdz2KeHPEB?p=preview
我點擊「打招呼」,它有它自己的模板(後產生的局部視圖「first.html」)和控制器,由$ routeProvider注入。但是,在first.html中的部分視圖中,我想添加一個僅有該代碼段的控件。但是我不能使它工作,有什麼建議嗎?
我也嘗試使用依賴注入將模塊「多語言」包含到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"
});
在此先感謝。
你是如何包括部分的看法? – Chandermani
檢查我的更新,我將它們包含在$ routeProvider中。 –
排序!請參閱更新和更新2 –