(function(){
angular
.module('main')
.directive('search', search);
search.$inject = ['$compile'];
function search($compile){
return {
link: function(scope, ele, attrs){
ele.bind('click', function(){
var template = "<search-results>{{searchCtrl.results.length}}</search-results>";
$compile(template)(scope);
$('.resultsContainer').append(template);
});
}
}
}
})();
<search-results></search-results>
是另一个指令,如下所示:
(function(){
angular
.module('main')
.directive('searchResults', searchResults);
searchResults.$inject = [];
function searchResults(){
return {
templateUrl: 'main/views/resultsContainer.client.view.html',
link: function(scope, ele, attrs){
ele.bind('click', function(){
});
}
}
}
})();
我试图在开头()添加的指令没有被编译,我得到了这个
<search-results>{{searchCtrl.results.length}}</search-results>
作为输出。范围值不会注入其中。但新指令自我添加了另一个模板,这是完成的。我在控制台中看到了对模板的请求。
有人能找到我的错误
答案 0 :(得分:1)
您需要附加$compile
返回的结果
尝试更改:
$compile(template)(scope);
要
template = $compile(template)(scope);