Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ember.js 在DOM更新完成后,访问与视图对应的DOM元素的属性_Ember.js - Fatal编程技术网

Ember.js 在DOM更新完成后,访问与视图对应的DOM元素的属性

Ember.js 在DOM更新完成后,访问与视图对应的DOM元素的属性,ember.js,Ember.js,这就是我: 使用余烬视图预览使用FileReader选择的图像 获取有关所选图像的信息(naturalWidth)。为此,我正在使用jQuery和余烬elementId (我不知道是否有更好的方法来获取相关的DOM元素,或者甚至更好,直接从view对象访问DOM元素的属性,而根本不访问DOM) 我遇到的主要问题是,每当更新img元素的src属性时(因为选择了新文件),元素属性都不会立即可用。这些值只是加载数据之前设置的值。初选时: width=100 height=0 naturalWidth=

这就是我:

  • 使用余烬视图预览使用
    FileReader
    选择的图像
  • 获取有关所选图像的信息(
    naturalWidth
    )。为此,我正在使用jQuery和余烬
    elementId
  • (我不知道是否有更好的方法来获取相关的DOM元素,或者甚至更好,直接从view对象访问DOM元素的属性,而根本不访问DOM)

    我遇到的主要问题是,每当更新
    img
    元素的
    src
    属性时(因为选择了新文件),元素属性都不会立即可用。这些值只是加载数据之前设置的值。初选时:

    width=100 height=0 naturalWidth=0 naturalHeight=0 
    
    (在连续选择时,会找到旧图像中的参数)

    我猜DOM元素处理
    src
    属性中的新数据需要一些时间。每当DOM完成元素更新时,如何触发操作


    (这不是关于元素的创建,因为它已经存在,而是关于更新完成)

    我认为您可以使用
    didInsertElement

    App.PreviewUploadImage = Ember.ContainerView.extend({
    didInsertElement:function(){
    console.log(this.$().find('img'));
    },
    

    谢谢,但是根据我的测试,
    didInsertElement
    是在第一次插入元素时触发的,而不是在更新元素时触发的。那么使用属性绑定怎么样?创建一个具有图像属性src的计算属性,然后每次src更改时,您都知道。