繁体   English   中英

角度指令不被限制查看

[英]angular directive not getting bound to view

为什么我的角度指令不被限制查看?

(function() {
    'use strict';

    app.directive('projectSearchModal', projectSearchModal);

    projectSearchModal.$inject = ['$modal', '$scope', 'ProjectService'];

    function projectSearchModal($modal, $scope, ProjectService) {
        // Usage:
        //     <projectSearch></projectSearch>
        // Creates:
        // 
        var directive = {
            link: link,
            restrict: 'A',
            scope: {
                project: '=',
                finishCallback: '=',
                comment: '='
            }
        };
        return directive;

        function link(scope, element, attrs) {}
})()

这是我的称呼:

<button project-search-modal="" project="project" finish-callback="wipeProjectInfoFromComment" comment="currentstakeholdercomment"
                                                     class="btn btn-primary"><i class="glyphicon glyphicon-search"></i> Search Projects</button>

该指令肯定是在浏览器中执行的,但是没有执行(即,我在链接定义上放置了一个断点,但从未被击中)

您的指令的问题(否则会丢失} ,我想这是复制粘贴的错字)是您试图将不存在的服务$scope注入指令中。 这没有任何意义,因为$scope不是可共享的服务,因为它绑定到特定的HTMLElements,所以您可以注入指令/其他服务。 因此,Angular引发错误。

您不需要$scope因为链接功能中已经有一个可用的了。

正确的指令定义:

(function() {
    'use strict';

    app.directive('projectSearchModal', projectSearchModal);

    function projectSearchModal($modal, ProjectService) {
        var directive = {
            link: link,
            restrict: 'A',
            scope: {
                project: '=',
                finishCallback: '=',
                comment: '='
            }
        };
        return directive;

        function link(scope, element, attrs) {
            console.log('link');
        }
    }

    projectSearchModal.$inject = ['$modal', 'ProjectService'];
})();

好的,事实证明我没有向正确的MVC布局页面添加模块(包含指令)(其中有很多漂浮在该项目周围)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM