重复不使用Firebreath插件对象



我刚开始使用AngularJS,我试图在Firebreath插件上使用ng-repeat,它似乎不起作用。

<div ng-controller="PluginCtrl">
   <object type='application/x-sometype' ng-repeat='plugin in plugins' 
        id='pluginobj_{{plugin.id}}'>
   </object>
</div>

控制器文件的代码如下:

var app = angular.module("appName");
app.controller("PluginCtrl", function($scope){
   $scope.plugins = {};
   $scope.plugins["1"] = {id: "1"};
   $scope.plugins["2"] = {id: "2"};
});

我知道这是Firebreath的JSAPI的问题,因为如果我将对象"类型"更改为其他东西,它的工作效果非常好。我还没有深入研究造成这种情况的原因,但我猜angularJS在使用ng-repeat进行计算时需要的一些对象dom属性在JSAPI中缺失了。如果有人知道为什么会这样,或者已经遇到过这种情况,那将会很有帮助。提前谢谢。

编辑:不工作我的意思是{{插件。Id}}没有被值1 &

这实际上不是专门针对JSAPI的,它是一般的插件。我也怀疑它是否适用于Flash。我不能百分百确定,但我确实花了一天左右的时间试图修复它,结果却越来越深地陷入了我遇到过的一些最奇怪的问题。

为什么这是一个坏主意的原因比我记得的还要多,我写了FireBreath。我只想说,永远不可能很好地完成你正在做的事情。首先,你永远不应该在把对象标签添加到DOM之前设置它的类型,因为在某些情况下(取决于浏览器、操作系统和版本),当你把它删除并添加到其他地方时,浏览器实际上会重新实例化这个插件实例,而angular在某些情况下往往会这样做。

我真的建议只使用插件直接注入html,或者,如果你不接受,在渲染后设置类型。你应该能够建立一个指令来实现这一点,无论它需要什么,包括必要时添加多个插件实例。

你也可以花一些时间来修复它;我已经这样做了,我认为不值得再花时间在这件事上了。

相关内容

  • 没有找到相关文章

最新更新