問:
爲什麼導致空{{ name }}
?
Plunker:
http://plnkr.co/edit/32t8u4VL9BiuhHcC80LF?p=preview
腳本:
var app = angular.module('app', []);
app.controller('MainCtrl', function($scope) {
$scope.name = 'World';
});
app.directive('portal', function() {
return {
restrict: 'E',
transclude: true,
template: '<div><span>Header</span><div ng-transclude></div><span>Footer</span></div>'
}
})
HTML:
<portal ng-app="app" ng-controller="MainCtrl">
<p>Hello {{ name }}, let's see if Angular is working at all... 1 + 2 = {{ 1 + 2 + '!' }}</p>
</portal>
可以告訴我爲什麼我需要這樣做 - 這就是爲什麼你不能在同一個元素中使用ngApp和ngController的ngTransclude指令? –
不是我的頭頂,但我的猜測是該指令如何與ngTransclude作用域。我個人從未在自定義指令中看到過'hg-app',因爲文檔建議在整個角度應用程序的父級上使用'hg-app'。 –
是的,我知道Angular的建議。只是因爲我有多個命名衝突的SPA,並且角度既不提供命名空間,也不提供模塊的動態加載和卸載,而且我在這些站點之間有共同的內容,所以我決定可以使用指令將每個「應用程序」和頁腳。爲了方便起見,我想在上述指令的同一個元素上加上'ngApp'。謝謝你的幫助! –