我有一个替换自定义指令的div。
<div class="timeline" layout="row" ng-repeat="event in ::vm.events">
<div replace-with='{{event.content}}'></div>
</div>
这是我的指示:
(function () {
'use strict';
angular
.module('app')
.directive('replaceWith', replaceWith);
/* @ngInject */
function replaceWith() {
// Usage:
//
// Creates:
//
var directive = {
link: link,
restrict: 'A'
};
return directive;
function link(scope, element, attrs) {
attrs.$observe('replaceWith', function (value) {
if (value) {
element.replaceWith(angular.isUndefined(value) ? '' : value);
}
});
}
}
})();
我从哪里获取内容数据的控制器:
vm.templateUrl = "scripts/controllers/sample.content.html";
vm.events = [{
title: 'Title1',
subtitle: '',
date: '6/6/2016',
image: 'assets/avatar-5.png',
content: '<div ng-include="vm.templateUrl"></div>',
palette: ''
}]
这里我的带有replace-with属性的div没有被ng-include模板取代。但是当我硬编码我的内容数据时,content:<p>Sample Data</p>
它正在工作。有人可以帮我这个。
答案 0 :(得分:0)
一种方法是使用指令的templateURL属性并使其动态化,如此问题的最佳答案所述: