首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >添加新指令时角$compile不工作

添加新指令时角$compile不工作
EN

Stack Overflow用户
提问于 2016-03-26 15:48:18
回答 1查看 49关注 0票数 0
代码语言:javascript
复制
    (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>是另一个指令,如下所示:

代码语言:javascript
复制
(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(){

                });
            }
        }

    }

})();

我试图在开头()添加的指令没有被编译,我得到了以下内容

代码语言:javascript
复制
<search-results>{{searchCtrl.results.length}}</search-results>

作为输出。范围值不会注入到其中。但是,新的指令本身也有另一个模板要删除,这是完成的。我在控制台中看到了对模板的请求。

有人能发现我的错误吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-26 16:05:34

您需要附加$compile返回的结果

试着改变:

代码语言:javascript
复制
 $compile(template)(scope);

代码语言:javascript
复制
template = $compile(template)(scope);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36237329

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档