ボタンをクリックした後、以下のコードが機能しません。それは指示が再びコンパイルされていないようです。誰もがこれで私を助けることができます!ng-click後に角ディレクティブがコンパイルされない
HTML:
<button ng-click="run()">click</button>
<p>Hello {{name}}!</p>
<customdir filterby="name"></customdir>
同様のコードはここにhttp://plnkr.co/edit/OQqLeUIoFNhkqSoeIdyM?p=previewを見つけることができます。
Javascriptを:
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope) {
$scope.name = 'World';
$scope.run = function() {
$scope.name = 'goal';
};
});
app.directive('customdir', function($compile) {
var getTemplate = function(filterby) {
switch (filterby) {
case 'World':
return '<div class="col-lg-1" id="ready">' +
'<img ng-src="http://plnkr.co/img/plunker.png" style="height: 35px; width: 35px; margin-left: 70px; margin-bottom: 3px" />' +
'</div>';
case 'goal':
return '<b>tttttt !!</b>';
default:
return '<b>Error !!</b>';
}
}
return {
restrict: 'E',
scope: {
filterby: '='
},
link: function(scope, element, attrs) {
var el = $compile(getTemplate(scope.filterby))(scope);
element.replaceWith(el);
}
};
});