我有一个自定义指令,如下所示。在其中我想从部分插入html:
.directive('myDirective', function($parse){
return {
restrict: 'A',
scope: { foo: '=' },
link: function(scope, element, attrs){
//add children to element[0] using html from partials/content.html
//...
}
});
Google / Stack并没有透露太多,有没有办法做到这一点,还是我不打算以这种方式使用指令?
答案 0 :(得分:1)
你可以做三件事
$templateRequest
设为html页面,该页面在内部制作ajax以获取html&然后将该html放在$templateCache
。<强>代码强>
$templateRequest('mypath.html').then(function(res){
//inside you could have html content in res.data;
var html = res.data;
})
html
内容放在$templateCache
服务内的运行块&amp;然后在需要时使用$templateCache.get('templateName')
<强>代码强>
app.run(function($templateCache){
$templateCache.put('mytemplate.html', '<div>My HTML</div>')
})
//inside directive do below thing
var html = $templateCache.get('mytemplate.html');
type="text/ng-template"
,这将再次强制此模板放入$templateCache
服务。这个模板会让你立即可用。<强>标记强>
<script type="text/ng-template">
<div>My Content<div>
</script>
//inside directive you need to access it from $templateCache.
var html = $templateCache.get('mytemplate.html');