javascript
  • html
  • angularjs
  • angularjs-directive
  • 2016-05-03 81 views 1 likes 
    1

    我正在開發一個業餘愛好項目,我正在製作我希望Angular編譯的動態代碼。無法讀取未定義的屬性「編譯」。似乎無法發現錯誤

    在鉻我得到以下錯誤: 無法讀取未定義的屬性「編譯」。

    下面是一些代碼示例。

    JS

    $scope.oneC = "<button dynamic='right' id='rightarrow' class='fa fa-arrow-right fa-5x' aria-hidden='true' ng-click='next()' style='float: right;'></button>"; 
    

    HTML

    <div id="one" class="columns" compile="oneC"></div> 
    

    在我app.js我有一個在以前的項目中設置一直不變的工作正常的編譯指示。

    App.js

    kakalunchApp.directive('compile', ['$compile', function ($compile) { 
    return function(scope, element, attrs) { 
        scope.$watch(
        function(scope) { 
         // watch the 'compile' expression for changes 
         return scope.$eval(attrs.ngHtmlCompile); 
        }, 
        function(value) { 
         // when the 'compile' expression changes 
         // assign it into the current DOM 
         element.html(value); 
    
         // compile the new DOM and link it to the current 
         // scope. 
         // NOTE: we only compile .childNodes so that 
         // we don't get into infinite loop compiling ourselves 
         $compile(element.contents())(scope); 
        } 
    ); 
    

    }; }]);

    我已經包含在控制器中的$編譯關鍵字

    kakalunchApp.controller('MainCtrl', function ($scope, $window, $compile, $sce) 
    

    請告訴我,如果你能發現這個錯誤。先謝謝你!

    +0

    我在這裏創建了一個Plunk:http://plnkr.co/edit/7rtewY?p=preview和代碼運行良好。只是添加了一些文本編譯按鈕,讓它可見屏幕。 您正在使用哪個版本的AngularJs? – gdyrrahitis

    回答

    0

    將您的指令名稱從'compile'更改爲其他名稱。

    相關問題