标签: ngdraggable

单击输入字段一段时间后,当模型更改时,AngularJS 视图未更新

我制作了一个用于生成 PDF 的 json 文件设计器。

如果您想查看整个代码的运行情况,请打开底部的 plunker 链接。

该视图的行为不符合预期。在调试器中,当我在其 SVG 场景中拖动元素时,模型会立即更改。输入不会改变。但是,如果我在输入框之间单击,它会突然将视图更新为正确的值。

这是我在指令内的范围变量中设置值的地方:

    function endDrag(evt) {
        if (selectedElement) {
            let selectedEntry = scope.data.templateData.find(function(entry) {
                return entry.name === selectedElement.getAttribute("data-entry-name");
            });

            if(selectedEntry){
                selectedEntry.x = parseInt(selectedElement.transform.baseVal.getItem(0).matrix.e / scope.data.pdfViwer.zoom);
                selectedEntry.y = parseInt(selectedElement.transform.baseVal.getItem(0).matrix.f / scope.data.pdfViwer.zoom);
            }
            selectedElement = null;
        }
    }
Run Code Online (Sandbox Code Playgroud)

这是我在控制器中的数据对象:

    $scope.data = {
    name: "",
    type: [{name:'Text',value:'text'}, {name:'Image',value:'image'}, {name:'Line',value:'line'}],
    templateData: [{
        'type': {name:'Text',value:'text'},
        'name': 'test',
        'text': 'test3',
        'x': 100,
        'y': 100
    }],
    pdfViwer: {
        height: 2970,
        width: 2000,
        zoom: .3
    },
    output: {
        show:true …
Run Code Online (Sandbox Code Playgroud)

javascript svg angularjs angularjs-directive ngdraggable

2
推荐指数
1
解决办法
1609
查看次数