你會想一個模板配置添加到您的指令。
myApp.directive('myDirective', function() {
return {
scope : {
entry : "=" //what goes here to bind "This is my entry" to scope.entry?
},
template: "<div>{{ entry }}</div>", //**YOU DIDN'T HAVE A TEMPLATE**
restrict: "E",
link: function (scope, elm, attr) {
//You don't need to do anything here yet
}
};
});
myApp.controller('fooController', function($scope){
$scope.foo = "BLAH BLAH BLAH!";
});
然後用你的指令,像這樣:
<div ng-controller="fooController">
<!-- sets directive "entry" to "foo" from parent scope-->
<my-directive entry="foo"></my-directive>
</div>
和角度就會把它轉換成:
<div>THIS IS MY ENTRY</div>
假設你正確有角的設置,並且包括這個JS文件到你的頁面。
編輯
這聽起來像你想要做的東西像下面這樣:
<my-directive="foo"></my-directive>
這是不可能的ELEMENT指令。但是,它是屬性指令。檢查以下內容。
myApp.directive('myDirective', function() {
return {
template: "<div>{{ entry }}</div>", //**YOU DIDN'T HAVE A TEMPLATE**
restrict: "A",
scope : {
entry : "=myDirective" //what goes here to bind "This is my entry" to scope.entry?
},
link: function (scope, elm, attr) {
//You don't need to do anything here yet
}
};
});
然後使用它是這樣的:
<div my-directive="foo"></div>
這將別名傳遞給我指令性值上稱爲進入一個範圍變量。不幸的是,沒有辦法用元素限制指令來做到這一點。什麼是阻止它發生的不是Angular,它是html5的指導方針,使你想做的事情變得不可能。你將不得不使用一個屬性指令而不是一個元素指令。
內容如何首先添加到html中?通常它是$ scope,它定義了視圖中顯示的內容,而不是周圍的方式。 – package 2014-09-04 07:53:48
此元素的內容將添加到服務器端。角模板是使用PHP應用程序生成的,因爲在這種情況下內容不可用。 我可以只添加的內容作爲一個屬性,但由於該指令會像一個''
我覺得老版本的IE瀏覽器不喜歡與元素名稱,這就是爲什麼首選屬性或類指令。不確定這是否是你的用例的一部分,但值得考慮奶奶的IE6。 – 2014-09-04 16:10:27