2
我發現指令屬性在Chrome和FF(也是IE)中以不同順序插補。因此,例如,該指令將在Chrome中產生不同的結果,作爲FF:在不同瀏覽器中AngularJS屬性插值的順序
var TestDirective = function() {
var linkFn = function (scope, element, attrs) {
attrs.$observe("att1", function() {
$(element).append(attrs.att1);
});
attrs.$observe("att2", function() {
$(element).append(attrs.att2);
});
attrs.$observe("att3", function() {
$(element).append(attrs.att3);
});
};
return {
link: linkFn
}
};
一般來說這種行爲是沒有問題的,但存在這樣的情況插值的順序很重要。我的問題不是如何克服這一點,什麼是不同順序插值的原因?
還有工作JSFiddle。如果它在Chrome和FF(或IE)中打開,結果將會不同。
HTML中的屬性只是沒有排序? – Bergi 2013-05-06 12:44:09
不是他們沒有訂購。在Chrome中,結果始終是'123',FF始終是'321'。所以我的問題是結果不同的原因是什麼? – PrimosK 2013-05-06 12:46:08
如果使用vanilla javascript而不是第三方庫,會發生什麼情況? – Xotic750 2013-05-06 12:47:17