Angularjs 如何使用带角度的注释

Angularjs 如何使用带角度的注释,angularjs,image,annotations,Angularjs,Image,Annotations,我正试图将注释性和角度性最好地结合起来。Annotorius库虽然有描述,但调试起来特别困难。(见我在上的意思) 到目前为止,我用(免费MIT开源项目免责声明:我是it的维护者)创建了自己的解决方案,它为标记和属性案例提供了2个指令,同时还提供了一个访问anno对象的服务 我面临着动态内容的问题,比如滑块。 (注意,我确实知道,对于ng src图像,由于img src循环,可能需要特殊处理) 带有唯一URL的带注释的图像,一旦在DOM树中重新创建,如果调用 anno.makeAnnotatabl

我正试图将注释性和角度性最好地结合起来。Annotorius库虽然有描述,但调试起来特别困难。(见我在上的意思)

到目前为止,我用(免费MIT开源项目免责声明:我是it的维护者)创建了自己的解决方案,它为标记和属性案例提供了2个指令,同时还提供了一个访问anno对象的服务

我面临着动态内容的问题,比如滑块。 (注意,我确实知道,对于ng src图像,由于img src循环,可能需要特殊处理)

带有唯一URL的带注释的图像,一旦在DOM树中重新创建,如果调用

anno.makeAnnotatable(img)
要复制它,请参见颜色框 (colorbox是一个免费的开源模式库)


有没有什么有趣的方法可以集成/注释可能重新出现的动态内容?

我找到了解决方案,我们不做“关闭”注释,只需在onLoad和onCleanup事件中调用reset函数,这对colorbox或fancybox等动态内容至关重要

与colorbox动态集成的代码如下所示:

$scope.annotateColorbox03 = {
    rel: 'img-group-01',
    slideshow: false,
    open: false,
    onComplete: function () {
        console.log('03-complete');
        var photo = colorboxService.getCurrentPhoto();
        if (photo.src) {
            console.log('annotateColorbox03 ' + photo.src);
            annotoriousService.makeAnnotatable(photo);
            var annotations = annotoriousService.getAnnotations(photo.src);
            console.log(annotations);
            if (annotations && annotations.length > 0) {
                annotoriousService.showAnnotations(photo.src);
                colorboxService.resize();
            }

        }
    },
    onLoad: function () {
        console.log('03-onLoad');
        annotatableImage();
    },
    onCleanup: function () {
        console.log('03-cleanup');
        annotatableImage();
    }
};

function annotatableImage() {
    var photo = colorboxService.getCurrentPhoto();
    if (photo && photo.src) {
        //required
        annotoriousService.reset(photo.src);
    }
}
工作示例现在位于:

此示例依赖于使用annotoriousService


免责声明:我是angular annotorious的维护者,angular annotorious是麻省理工学院的一个免费开源项目。

我找到了解决方案,而不是“关闭”annotorious,我们只是在onLoad和onCleanup事件中调用reset函数,这对colorbox或fancybox等动态内容至关重要

与colorbox动态集成的代码如下所示:

$scope.annotateColorbox03 = {
    rel: 'img-group-01',
    slideshow: false,
    open: false,
    onComplete: function () {
        console.log('03-complete');
        var photo = colorboxService.getCurrentPhoto();
        if (photo.src) {
            console.log('annotateColorbox03 ' + photo.src);
            annotoriousService.makeAnnotatable(photo);
            var annotations = annotoriousService.getAnnotations(photo.src);
            console.log(annotations);
            if (annotations && annotations.length > 0) {
                annotoriousService.showAnnotations(photo.src);
                colorboxService.resize();
            }

        }
    },
    onLoad: function () {
        console.log('03-onLoad');
        annotatableImage();
    },
    onCleanup: function () {
        console.log('03-cleanup');
        annotatableImage();
    }
};

function annotatableImage() {
    var photo = colorboxService.getCurrentPhoto();
    if (photo && photo.src) {
        //required
        annotoriousService.reset(photo.src);
    }
}
工作示例现在位于:

此示例依赖于使用annotoriousService


免责声明:我是angular annotorious的维护者,这是麻省理工学院的一个免费开源项目。

非常感谢您提供该库。我打算使用它,并担心它是否仍在维护中?没有维护,但据我所知,annotorious在各自的版本中仍然与AngularJs(v1.x)配合使用。但如果您谈论的是Angular(v11,即>v2),那么这个库不匹配,必须创建一个新库。我认为这并不难,也会遵循同样的原则。非常感谢你的图书馆。我打算使用它,并担心它是否仍在维护中?没有维护,但据我所知,annotorious在各自的版本中仍然与AngularJs(v1.x)配合使用。但如果您谈论的是Angular(v11,即>v2),那么这个库不匹配,必须创建一个新库。我认为这并不难,也会遵循同样的原则。非常感谢你的图书馆。我打算使用它,并担心它是否仍在维护中?没有维护,但据我所知,annotorious在各自的版本中仍然与AngularJs(v1.x)配合使用。但如果您谈论的是Angular(v11,即>v2),那么这个库不匹配,必须创建一个新库。我觉得不难,会遵循同样的原则。