我有一个用ng-repeat填充的列表。然后,我有一个指令,根据内容类型字段格式化内容。我想在注入的HTML上添加指令。这怎么可能?以下是我的代码。 if语句中的第二个语句不起作用(使用ng-bind)。
angular.module('mobileDashboardApp')
.directive('detailFormat', function () {
return {
link: function postLink(scope, element, attrs) {
var entry = scope.entry;
if(entry.type === 'action') {
element.append('<button>' + entry.value + '</button>');
} else if (entry.type === 'event') {
element.append('<button ng-bind="entry.value"></button>');
} else if(entry.type === 'comment') {
element.append('<strong>Note:</strong> ' + entry.value);
}
}
};
});
答案 0 :(得分:0)
为什么不在HTML中使用标记呢?一般来说,在使用像Angular和Ember这样的框架时自己操纵DOM是一个糟糕的主意,因为它们可能会践踏你的所有变化,并对渲染的内容感到困惑。
您可以使用一些强大的模板结构来执行此操作,例如ng-if。
{{1}}
希望这有用。