【问题标题】:Ember.js unclear error message: "TypeError: can't redefine non-configurable property '__ember1346625712617'"Ember.js 不清楚的错误消息:“TypeError:无法重新定义不可配置的属性'__ember1346625712617'”
【发布时间】:2012-09-02 23:42:40
【问题描述】:

我怀疑这个问题可能与我的路由或视图有关。两者都有:

App.router = Ember.Router.create({
    enableLogging: true,
    location: 'history',
    root: Ember.Route.extend({
        index: Ember.Route.extend({
            route: '/admin/',
            redirectsTo: 'login'
        }),
        login: Ember.Route.extend({
            route: '/admin/login/',
            doLogin: function(router, context) {
                "use strict";
                router.transitionTo('dashboard', context);
            },
            connectOutlets: function (router, context) {
                "use strict";
                router.get('applicationController').connectOutlet('login', "login");
            }
        }),
        dashboard: Ember.Route.extend({
            route: '/admin/dashboard/',
            doLogout: function(router, context) {
                "use strict";
                router.transitionTo('login', context);
            },
            connectOutlets: function (router, context) {
                "use strict";
                router.get('applicationController').connectOutlet('sidebar', 'sidebar');
                router.get('applicationController').connectOutlet('toolbar', 'toolbar');
                router.get('applicationController').connectOutlet('dashboard', 'dashboard');
            }
        }),
        articles: Ember.Route.extend({
            route: '/admin/articles/',
            connectOutlets: function (router, context) {
                "use strict";
                console.log("here");
                router.get('applicationController').connectOutlet('sidebar', 'sidebar');
                router.get('applicationController').connectOutlet('toolbar', 'toolbar');
                router.get('applicationController').connectOutlet('articles', 'articles');
            }
        })
    })
});

我的观点有问题:

<script type="text/x-handlebars" data-template-name="sidebar">
    <div class="logo">
        <img src="http://boxed.hu/static/boxed.hu/images/sitebuild/logo.png">
    </div>
    <ul>
        <li>
            <a id="dashboardMenu" href="" data-module="dashboard" class="selected" {{action dashboard}}>
                Dashboard
                <span class="icon-home"></span>
            </a>
        </li>
        <li>
            <a id="articlesMenu" href="" data-module="articles" class="" {{action articles}}>
                Articles
                <span class="icon-copy"></span>
            </a>
        </li>
        <li>
            <a id="mediaMenu" href="" data-module="media" class="" {{action media}}>
                Media
                <span class="icon-picture"></span>
            </a>
        </li>
        <li>
            <a id="pagesMenu" href="" data-module="pages" class="" {{action pages}}>
                Pages
                <span class="icon-file"></span>
            </a>
        </li>
        <li>
            <a id="commentsMenu" href="" data-module="comments" class="" {{action comments}}>
                Comments
                <span class="icon-comments"></span>
            </a>
        </li>
        <li>
            <a id="usersMenu" href="" data-module="users" class="" {{action users}}>
                Users
                <span class="icon-user"></span>
            </a>
        </li>
        <li>
            <a id="rolesMenu" href="" data-module="roles" class="" {{action roles}}>
                Roles
                <span class="icon-unlock"></span>
            </a>
        </li>
    </ul>
</script>

当我单击列表中的一个元素时,我会得到以下控制台输出:

STATEMANAGER: Sending event 'articles' to state root.

TypeError: can't redefine non-configurable property '__ember1346625712617'
[Break On This Error]   

o_defineProperty(this, GUID_KEY, undefinedDescriptor);

我本来打算调试代码,但我认为这里的帖子可能会比我的调试带来更快的答案。

【问题讨论】:

    标签: ember.js


    【解决方案1】:

    这不是具体的 Ember 错误,而是浏览器错误:Error in accessor property: can't redefine non-configurable property 'status'

    我怀疑您将其视为将操作 ({{action articles}}) 命名为与状态相同的结果。

    【讨论】:

    • 我将 {{action article}} 重命名为 {{action articleAction}},它就像魅力一样。这也有助于理解路由器的秘密。谢谢!
    猜你喜欢
    • 2023-03-24
    • 2015-06-13
    • 2011-10-18
    • 1970-01-01
    • 2022-07-06
    • 1970-01-01
    • 2021-02-25
    • 1970-01-01
    • 2018-10-09
    相关资源
    最近更新 更多