我已經寫了這段代碼。如何transclude與隔離範圍工作
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope) {
$scope.name = 'World';
$scope.hobby='AngularJS';
});
app.directive('outputText',function(){
return {
transclude: true,
scope: {},
template: '<div ng-transclude></div>'
}
});
<!DOCTYPE html>
<html ng-app="plunker">
<head>
<meta charset="utf-8" />
<title>AngularJS Plunker</title>
<script>document.write('<base href="' + document.location + '" />');</script>
<link rel="stylesheet" href="style.css" />
<script data-require="[email protected]" src="http://code.angularjs.org/1.2.7/angular.js" data-semver="1.2.7"></script>
<script src="app.js"></script>
</head>
<body ng-controller="MainCtrl">
<div output-text>
<p>Hello {{name}}</p>
</div>
<div output-text>
<p>I love {{hobby}}!!</p>
</div>
</body>
</html>
正如你可以在上面看到我使用我的指令,那裏是在隔離範圍沒有名字的財產隔離範圍。但是,它如何訪問父級作用域名稱屬性,因爲我甚至沒有使用子作用域或我缺少一些東西。
所以這意味着trancluded元素總是可以訪問父範圍? – user3427540 2014-09-30 06:56:28
是的,這是真的。如果您希望html成爲孤立作用域的一部分,請在指令模板中定義它。 – Chandermani 2014-09-30 06:59:56
'如果您希望html成爲孤立作用域的一部分,請在指令模板中定義它'您能否請我解釋一下如何解釋? – user3427540 2014-09-30 07:03:43