Angularjs拖放事件 - 错误:$ compile:nodomevents

时间:2017-11-19 13:45:40

标签: angularjs angularjs-directive drag-and-drop

  

不允许使用HTML DOM事件属性的插值。请改用ng-版本(例如ng-click而不是onclick)。

我是angularJS的新手。我正在使用下面的代码,该代码适用于示例应用程序。

HTML:

<div id="noun" 
ondrop="drop(event)" 
ondragover="allowDrop(event)"></div>

js:

    allowDrop= function (ev) {
        //console.log("In allow drop");
        ev.preventDefault();
    };


   drop=  function (ev) {
        console.log("In drop");
        ev.preventDefault();
        var data = ev.dataTransfer.getData("Text");

        if(ev.target.id =='verb' && $scope.verbs.indexOf(data) != -1){
            ev.target.appendChild(document.getElementById(data));
        }
        else{
            //alert(data + ' is not a ' + ev.target.id +'. Try again');
            console.log(data + ' is not a ' + ev.target.id +'. Try again');
        }

    };

但是,当我在我的实际应用程序中使用类似的代码时,我收到错误,如下所示。

  

16:47:39.246 angular.js:12783错误:[$ compile:nodomevents]不允许使用HTML DOM事件属性的插值。请改用ng-版本(例如ng-click而不是onclick)。       http://errors.angularjs.org/1.4.10/$compile/nodomevents           在http://localhost:9000/bower_components/angular/angular.js:68:12           在attrInterpolatePreLinkFn(http://localhost:9000/bower_components/angular/angular.js:8940:25)           at invokeLinkFn(http://localhost:9000/bower_components/angular/angular.js:9079:9)           at nodeLinkFn(http://localhost:9000/bower_components/angular/angular.js:8545:11)           在compositeLinkFn(http://localhost:9000/bower_components/angular/angular.js:7965:13)           在compositeLinkFn(http://localhost:9000/bower_components/angular/angular.js:7968:13)           在nodeLinkFn .....(更像是这样)..... <p draggable="true" ondragend="addProcess({{level2.root_id}}, {{level2.parent_id}}, {{level2._id}})" class="ng-binding">       (匿名)@ angular.js:12783       (匿名)@ angular.js:9535       invokeLinkFn @ angular.js:9081       nodeLinkFn @ angular.js:8545       compositeLinkFn @ angular.js:7965       compositeLinkFn @ angular.js:7968       nodeLinkFn @ angular.js:8561       compositeLinkFn @ angular.js:7965       publicLinkFn @ angular.js:7845       boundTranscludeFn @ angular.js:7983       controllersBoundTransclude @ angular.js:8593       ngRepeatAction @ angular.js:28080       $ watchCollectionAction @ angular.js:16066       $ digest @ angular.js:16203       $ apply @ angular.js:16467       完成@ angular.js:10852       completeRequest @ angular.js:11050       requestLoaded @ angular.js:10991

加载页面时,类似的错误重复12k次。我的真实应用程序代码如下。

HTML:

在实际应用中,html代码如下。

 <p ondragstart="dragStart(event)"
    ondragend="addProcess({{level2.root_id}}, {{level2.parent_id}}, {{level2._id}})"
    draggable="true" id="dragtarget">
 {{level2.name}}
</p>

JS:

在java脚本文件中,我试图同时使用$ scope.dropProcess和dropProcess。

错误仍然重复数千次,我不知道为什么。 任何修改或理解这一点的输入/建议都会有很大的帮助。

这是我的第一个问题。提前谢谢。

0 个答案:

没有答案