私のビューには、Backbone.jsを使用してレンダリングされたスパンがあります
レンダリングされたらすぐにHTMLを取得したい
何かのようなもの :$(span).html()
これどうやってするの?
私のビューには、Backbone.jsを使用してレンダリングされたスパンがあります
レンダリングされたらすぐにHTMLを取得したい
何かのようなもの :$(span).html()
これどうやってするの?
render
Backbone.Viewには実際にはメソッドがまったくないため、この質問は少し混乱しました(技術的にはメソッドはありますが、操作はできません)。100%ユーザー定義です。その事実を考えると、...まあ、レンダリング後のチェックは...まあ、レンダリング後にチェックするのと同じくらい簡単です。
つまり、ビューのレンダリングメソッドが次の場合:
var YourView= Backbone.View.extend({
render: function() {
this.$el.html(someHtml);
}
});
次に、あなたがする必要があるのは:
var YourView= Backbone.View.extend({
render: function() {
this.$el.html(someHtml);
console.log(this.$el.html()); // check rendered HTML
}
});
それをイベントで仲介したい場合は(@aerodynamoが提案したように):
var YourView= Backbone.View.extend({
events: {'customPostRender': 'postRender'},
postRender: function() {
console.log(this.$el.html()); // check rendered HTML
},
render: function() {
this.$el.html(someHtml);
this.trigger('customPostRender');
}
});
しかし、実際にはそれは必要ではありません。
MutationObserverが役立つかどうかはわかりませんが、必ずチェックする価値があります:-)