Ember JS:未捕获的TypeError:无法读取null的属性'createRecord'

marco998

我已经开始使用ember cli开发ember JS应用。现在的想法是通过保留点击的坐标来创建svg元素(圆圈)。

我使用了一个视图来捕获鼠标单击,然后将其传递给控制器​​以创建带有坐标的圆。我正在使用夹具适配器来存储数据。

当我显示它们时,我在代码中手动放置的元素可以正常工作。当我想用控制器存储新节点时,会发生以下问题:

Uncaught TypeError: Cannot read property 'createRecord' of null

这是控制器文件svg.js:

export default Ember.ObjectController.extend({
    actions:{
        createNode: function(posX,posY){
            var element= this.store.createRecord('element',{ //Here is where I get the error
                text: "element",
                x: posX,
                y: posY,
                graph: 1
            });
            element.save();
        }
    }
});

这是我的模板文件:

{{#view svg}}
  {{#each item in model}}//For each graph
    {{#each item.elements}}// For each  
        <circle {{bind-attr cx=x}} {{bind-attr cy=y}} r="5" stroke="black" stroke-width="3" fill="yellow" />
    {{/each}}
  {{/each}}
{{/view}}

相关路线:

export default Ember.Route.extend({
    model: function() {
        return this.store.find('graph');
    }
});

查看文件:

export default Ember.View.extend({
    tagName: "svg",
    attributeBindings: ['width','height'],
    width: "500",
    height: "500",

    init: function() {
        this._super();
        this.set("controller", svg.create());
    },
    click: function(evt){

        var svg= Ember.$("svg:first");
        var posX = evt.pageX - svg.position().left;
        var posY = evt.pageY - svg.position().top;
        this.get('controller').send('createNode',posX,posY);
    }
});

也许我做错了什么,但我不知道为什么this.store会为空。

有任何想法吗 ?

提前致谢!

劲派2k

糟糕,我没有在初始化中看到您在做什么。控制器需要由容器初始化,以便与它们进行依赖注入。依赖注入将存储注入到控制器和路由中。

在2.0中弃用了控制器的情况下,我只想说说将您的操作从控制器移到容纳该视图的路由/控制器中。您还必须将存储传递到视图中。如果您不想这样做,则可以在创建存储时在控制器上手动定义存储。

在视图上定义

{{#view svg store=store}}

注入视图,创建一个注入器并添加它

App.inject('view', 'store', 'store:main');

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

未捕获的TypeError:无法读取未定义的属性'createRecord'

来自分类Dev

Ember.js-无法创建记录app.mode.createRecord或this.store.createRecord

来自分类Dev

最新的ember.js(1.0.0.0)无法识别“ find”和“ createRecord”

来自分类Dev

未定义createRecord错误(Firebase + Ember.js)

来自分类Dev

Ember模型的create()未创建ID和适配器,必须实现“ createRecord”

来自分类Dev

Ember CLI控制器测试:未捕获的TypeError:无法读取null的属性'transitionToRoute'

来自分类Dev

如何防止CreateRecord和Commit在Ember.js中复制记录?

来自分类Dev

Ember.js:未捕获的TypeError:在transitionTo上无法读取未定义的属性“ enter”

来自分类Dev

带有ember-data + ember-data-django-rest-adapter的createRecord

来自分类Dev

Ember数据归属到createRecord()save()序列化中省略的异步关系

来自分类Dev

Ember数据归属到createRecord()save()序列化中省略的异步关系

来自分类Dev

未捕获的TypeError:无法读取null的属性'getElementsByClassName' HTML | JS

来自分类Dev

捕获错误时,createRecord创建一个空实例

来自分类Dev

未捕获的TypeError:无法读取null的属性“ on”

来自分类Dev

未捕获的TypeError:无法读取null的属性

来自分类Dev

Ember Uncaught TypeError:无法读取未定义的属性“ yield”

来自分类Dev

灰烬数据createRecord无法正常工作:“ TypeError:未定义不是函数”

来自分类Dev

Ember.js:无法读取未定义的属性“ isHelperInstance”

来自分类Dev

未捕获的TypeError:无法读取null的属性“ classList”

来自分类Dev

未捕获的typeError:无法读取null的属性'querySelectorAll'

来自分类Dev

未捕获的TypeError:无法在React中读取null的属性“状态”

来自分类Dev

未捕获的TypeError:无法读取null的属性'appendChild'

来自分类Dev

未捕获的TypeError:无法读取null的属性“ 0”

来自分类Dev

未捕获的TypeError:无法读取null的属性“值”

来自分类Dev

未捕获的TypeError:无法读取null的属性'getContext'

来自分类Dev

未捕获的TypeError:无法读取null的属性“ clientHeight”

来自分类Dev

未捕获的TypeError:无法读取null的属性'__e3_'

来自分类Dev

未捕获的TypeError:无法读取null,AjAX的属性'documentElement'

来自分类Dev

未捕获的TypeError:无法读取null的属性“ play,src或click”

Related 相关文章

  1. 1

    未捕获的TypeError:无法读取未定义的属性'createRecord'

  2. 2

    Ember.js-无法创建记录app.mode.createRecord或this.store.createRecord

  3. 3

    最新的ember.js(1.0.0.0)无法识别“ find”和“ createRecord”

  4. 4

    未定义createRecord错误(Firebase + Ember.js)

  5. 5

    Ember模型的create()未创建ID和适配器,必须实现“ createRecord”

  6. 6

    Ember CLI控制器测试:未捕获的TypeError:无法读取null的属性'transitionToRoute'

  7. 7

    如何防止CreateRecord和Commit在Ember.js中复制记录?

  8. 8

    Ember.js:未捕获的TypeError:在transitionTo上无法读取未定义的属性“ enter”

  9. 9

    带有ember-data + ember-data-django-rest-adapter的createRecord

  10. 10

    Ember数据归属到createRecord()save()序列化中省略的异步关系

  11. 11

    Ember数据归属到createRecord()save()序列化中省略的异步关系

  12. 12

    未捕获的TypeError:无法读取null的属性'getElementsByClassName' HTML | JS

  13. 13

    捕获错误时,createRecord创建一个空实例

  14. 14

    未捕获的TypeError:无法读取null的属性“ on”

  15. 15

    未捕获的TypeError:无法读取null的属性

  16. 16

    Ember Uncaught TypeError:无法读取未定义的属性“ yield”

  17. 17

    灰烬数据createRecord无法正常工作:“ TypeError:未定义不是函数”

  18. 18

    Ember.js:无法读取未定义的属性“ isHelperInstance”

  19. 19

    未捕获的TypeError:无法读取null的属性“ classList”

  20. 20

    未捕获的typeError:无法读取null的属性'querySelectorAll'

  21. 21

    未捕获的TypeError:无法在React中读取null的属性“状态”

  22. 22

    未捕获的TypeError:无法读取null的属性'appendChild'

  23. 23

    未捕获的TypeError:无法读取null的属性“ 0”

  24. 24

    未捕获的TypeError:无法读取null的属性“值”

  25. 25

    未捕获的TypeError:无法读取null的属性'getContext'

  26. 26

    未捕获的TypeError:无法读取null的属性“ clientHeight”

  27. 27

    未捕获的TypeError:无法读取null的属性'__e3_'

  28. 28

    未捕获的TypeError:无法读取null,AjAX的属性'documentElement'

  29. 29

    未捕获的TypeError:无法读取null的属性“ play,src或click”

热门标签

归档