簡體   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