我有點努力讓我的頭在指令的位置,我試圖傳入一個名稱,我希望指令將<img>
返回到表中。指令不返回html元素
這裏是名在控制器如何定義的:
$scope.name = 'foo';
下面是HTML
<tr>
<th>status</th>
<td><icon-selector filterby="name"></icon-selector></td>
</tr>
這裏指令
angular.module('myApp')
.directive('iconSelector', function ($compile) {
return {
restrict: 'E',
scope:{
filterby:'='
},
link: function(scope,element, attrs) {
console.log(scope.filterby);
if (scope.filterby === 'foo') {
return '<img src="sample.png">';
}else {
return '<p>invalid</p>';
}
}
};
});
因此理想情況下,當指令過程中, {{name}}它應該如下所示在瀏覽器中:
<tr>
<th>status</th>
<td><img src="sample.png"></td>
</tr>
有人可以告訴我我做錯了什麼,一個plunker演示將不勝感激。
爲什麼'foo'導致' sample.png'? – dfsq 2014-11-05 19:22:30