标签: ember-cli

未捕获错误:断言失败:尝试注册已使用的ID的视图:名称

Uncaught Error: Assertion Failed: Attempted to register a view with an id already in use: name使用ember-cli 随机开始在我的应用上出现此错误.我只有两条路线

Router.map(function() {
  this.route('buy');
  this.route('rent');
});
Run Code Online (Sandbox Code Playgroud)

没有控制器,我的索引路由重定向到我 buy

redirect: function() {
  this.transitionTo('buy');
}
Run Code Online (Sandbox Code Playgroud)

我的rent路线也渲染buy模板

renderTemplate: function() {
  this.render('buy');
}
Run Code Online (Sandbox Code Playgroud)

我没有rentindex模板.我不知道这个错误来自哪里.

javascript ember.js ember-cli

2
推荐指数
1
解决办法
3070
查看次数

使用environment = production部署到heroku的Ember-CLI应用程序将丢失全局应用程序命名空间

我的应用程序名称是App,当环境=开发时,我可以访问App命名空间.唯一的问题是当我通过运行使用生产版本时出现问题(ember server --environment = production,然后我不再访问App命名空间,因为它未定义.

Error while processing route: coming-soon App is not defined ReferenceError: App is not defined
Run Code Online (Sandbox Code Playgroud)

这是ember-cli采取的安全措施吗?我怎么能覆盖这个呢?

environment heroku ember.js ember-cli

2
推荐指数
1
解决办法
332
查看次数

如何使用Express返回格式良好的201?

我正在尝试用ember-cli构建todoMVC,使用DS.RESTAdapter和表达来模拟调用.我得到的问题是,当我尝试保存新的待办事项时,我在控制台中看到此错误:

SyntaxError: Unexpected end of input
    at Object.parse (native)
    at jQuery.parseJSON (http://localhost:4200/assets/vendor.js:8717:22)
    at ajaxConvert (http://localhost:4200/assets/vendor.js:9043:19)
    at done (http://localhost:4200/assets/vendor.js:9461:15)
    at XMLHttpRequest.jQuery.ajaxTransport.send.callback (http://localhost:4200/assets/vendor.js:9915:8)
Run Code Online (Sandbox Code Playgroud)

我很确定问题是,当我调用save()新创建的模型时,它正在发送一个发布请求给/快递正在回复:

 todosRouter.post('/', function(req, res) {
    res.status(201).end();
  });
Run Code Online (Sandbox Code Playgroud)

这是在Ember中创建todo的创建动作:

actions:
    createTodo: ->
      return unless title = @get('newTitle')?.trim()

      @set('newTitle', '')
      @store.createRecord('todo',
        title: title
        isCompleted: false
      ).save()
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激.我是新来表达并且不确定为什么jquery不喜欢它返回的201.

jquery express ember.js ember-cli

2
推荐指数
1
解决办法
2387
查看次数

如何访问ember-cli单元测试中的需求元素

在路由测试中,我需要访问服务,以检索模型.我已经通过需求引用了服务,但在测试中我没有看到访问服务的方法.

import {
  moduleFor,
  test
} from 'ember-qunit';


moduleFor('route:application', {
  needs: ['route:application','controller:application','service:dialog']
});

test('can open and remove a dialog dialog', function(assert) {
    var route = this.subject();
    route.setProperties({
      controller: { // don't like this part as well .. 
        dialogs:null
      }
    });

    // need to access the service here to get a model
    // something like :
    //var service = this.get('service:dialog');
    var modalModel = service.getModal('business/contract-edit');

    ...


});
Run Code Online (Sandbox Code Playgroud)

如何在测试中访问服务?

(顺便说一句:我正在使用ember v2.0.0)

ember.js ember-cli

2
推荐指数
1
解决办法
321
查看次数

创建未附加到商店的Ember模型实例

我正在使用带有ember-data 2.0的Ember 2.0.

在Rails中,使用真实的模型实例来模拟表单和组件是很常见的.对于posts/new表单,您将传入a Post.new并在form.html.erb模板中使用它.

在Ember中,因为召唤new Post造成了破碎的模型而变得困难.相反,我们鼓励你使用商店,并使用它this.store.createRecord('post');.

这很好,但在构建隔离组件时却没有.例如,用户可以添加多个模型的表单,例如类别创建者.在我的脑海中,结构将如下所示:

category-form/template.hbs

<button {{action 'addCategory'}}>Add category</button>
{{#each categories as |category|}}
    {{input value=category.name}}
{{/each}}
<button {{action 'save'}}>Save</button>
Run Code Online (Sandbox Code Playgroud)

然后component.js将是这样的:

category-form/component.js

import Ember from 'ember';
import Category from 'app/category/model';

export default Ember.Component.extend({
    categories: [],

    actions: {
        addCategory() {
            // THIS DOES NOT WORK
            this.get("categories").pushObject(new Category);
        },

        save() {
            this.sendAction("saveCategories", this.get("categories"));
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

上面的示例确实有效,但需要this.store.createRecord.但据我所知,该组件无法访问该商店.这是理智的,因为那将是一个混乱全球国家的组成部分.此外,createRecord如果用户导航离开而不保存模型,则在使用时最终会在商店中存在大量残留模型.

我希望category-form此示例中的组件与全局状态的其余部分完全隔离.

我的问题是,如何使用ember逻辑正确处理?

javascript ember.js ember-data ember-cli ember-components

2
推荐指数
1
解决办法
2495
查看次数

关于ember cli的体面教程如何获取JSON响应

我一直在浪费我的所有旅程,试图找到一个简单的教程,解释如何使用ember cli制作一个简单的应用程序来处理基本的json文件...我当然读过www.ember-cli.com,他们解释很多东西但是......我不知道该怎么办.是否有一个基本的例子解释(假人水平)如何制作一个解析json响应的简单应用程序?我已经使用了RESTAdapter,我已经构建了muy模型,但我真的不知道如何制作以便向我的模板发送一种响应.

这是app/adapters文件夹下的person.js文件

import DS from 'ember-data';

var ApplicationAdapter = DS.RESTAdapter.extend({  
    host: 'http://localhost:8000/persons',
   namespace: 'person'
});



export default ApplicationAdapter;
Run Code Online (Sandbox Code Playgroud)

这是我app/model下的persons.js模型文件

import DS from 'ember-data';

export default DS.Model.extend({
  firstName: DS.attr('string'),
  lastName: DS.attr('string'),
  occupation: DS.attr('string')
});
Run Code Online (Sandbox Code Playgroud)

这是app/templates/components下的handlebars模板persons-tmp.hbs文件

<ul>    
{{#each model as |item|}}
        <li>{{item.firstName}}</li>
      {{/each}}
</ul>
Run Code Online (Sandbox Code Playgroud)

我的persons.js文件处理文件夹app/routes

import Ember from 'ember';

    export default Ember.Route.extend({  
        model: function() {
            return this.store.findAll('persons');
        }
    })
Run Code Online (Sandbox Code Playgroud)

最后调用http:// localhost:8000 / people的json响应:

"person": { …
Run Code Online (Sandbox Code Playgroud)

rest json ember.js ember-cli

2
推荐指数
1
解决办法
912
查看次数

无法设置本地ember.js服务器."ember server"命令出错

从github移动.原始主题https://github.com/emberjs/ember.js/issues/13055

我刚刚开始使用ember,并且在使用'ember server'命令时遇到了问题.

我跑了

npm install -g ember-cli
npm install -g phantomjs
npm new test1
cd test1
ember server
Run Code Online (Sandbox Code Playgroud)

并收到以下错误消息:

version: 2.4.1
Livereload server on http://localhost:49152
Serving on http://localhost:4200/
File: modules/ember-ajax/errors.js
The Broccoli Plugin: [Babel] failed with:
ReferenceError: [BABEL] modules/ember-ajax/errors.js: Unknown option:          /Users/Rubbelogbit/.babelrc.presets
at Logger.error (/Users/Rubbelogbit/Desktop/myWebsites/test1/node_modules/ember-cli-babel/node_modules/broccoli-babel-transpiler/node_modules/babel-core/lib/transformation/file/logger.js:58:11)
at OptionManager.mergeOptions (/Users/Rubbelogbit/Desktop/myWebsites/test1/node_modules/ember-cli-babel/node_modules/broccoli-babel-transpiler/node_modules/babel-core/lib/transformation/file/options/option-manager.js:126:29)
at OptionManager.addConfig (/Users/Rubbelogbit/Desktop/myWebsites/test1/node_modules/ember-cli-babel/node_modules/broccoli-babel-transpiler/node_modules/babel-core/lib/transformation/file/options/option-manager.js:107:10)
at OptionManager.findConfigs (/Users/Rubbelogbit/Desktop/myWebsites/test1/node_modules/ember-cli-babel/node_modules/broccoli-babel-transpiler/node_modules/babel-core/lib/transformation/file/options/option-manager.js:168:35)
at OptionManager.init (/Users/Rubbelogbit/Desktop/myWebsites/test1/node_modules/ember-cli-babel/node_modules/broccoli-babel-transpiler/node_modules/babel-core/lib/transformation/file/options/option-manager.js:229:12)
at File.initOptions (/Users/Rubbelogbit/Desktop/myWebsites/test1/node_modules/ember-cli-babel/node_modules/broccoli-babel-transpiler/node_modules/babel-core/lib/transformation/file/index.js:147:75)
at new File (/Users/Rubbelogbit/Desktop/myWebsites/test1/node_modules/ember-cli-babel/node_modules/broccoli-babel-transpiler/node_modules/babel-core/lib/transformation/file/index.js:137:22)
at Pipeline.transform (/Users/Rubbelogbit/Desktop/myWebsites/test1/node_modules/ember-cli-babel/node_modules/broccoli-babel-transpiler/node_modules/babel-core/lib/transformation/pipeline.js:164:16)
at Babel.transform (/Users/Rubbelogbit/Desktop/myWebsites/test1/node_modules/ember-cli-babel/node_modules/broccoli-babel-transpiler/index.js:94:21)
at Babel.processString (/Users/Rubbelogbit/Desktop/myWebsites/test1/node_modules/ember-cli-babel/node_modules/broccoli-babel-transpiler/index.js:123:25)

The broccoli plugin was instantiated …
Run Code Online (Sandbox Code Playgroud)

ember-cli

2
推荐指数
1
解决办法
633
查看次数

如何为Ember js添加自定义环境?

我正在使用Ember.js 2.5.0,目前看来Ember仅限于三种环境development,test而且production.我怎样才能添加一些其他的env例如staging

我有一个临时服务器,所以我们可以测试我们的应用程序,我想在那里使用不同的配置(比开发一个).有任何解决方法吗?

ember.js ember-cli

2
推荐指数
1
解决办法
1144
查看次数

如何使用我的ember cli App连接我的服务器

我的服务器正在使用端口:3000并且我正在使用节点,在服务器端表达,这在使用curl或REST客户端时工作正常.

ember cli server正在使用port:4200

我在environment.js上添加了此代码,用于将服务器连接到客户端.

contentSecurityPolicy: {
              'default-src': "'none'",
              'script-src': "'self' 'unsafe-inline' 'unsafe-eval'",
              'font-src': "'self'",
              'connect-src': "'self' http://localhost:3000",
              'img-src': "'self'",
              'report-uri':"'localhost'",
              'style-src': "'self' 'unsafe-inline'",
              'frame-src': "'none'"
     }
Run Code Online (Sandbox Code Playgroud)

我的应用程序适配器代码是:

import JSONAPIAdapter from 'ember-data/adapters/json-api';

export default JSONAPIAdapter.extend({
    "host": "http://localhost:3000",
    "namespace": "api"
});
Run Code Online (Sandbox Code Playgroud)

以这种方式运行我的ember服务器 ember服务器--proxy http://127.0.0.1:3000 在控制器上我使用ajax调用:

            $.ajax({
                    type: 'POST',
                    url: '/blog',
                    contentType: 'application/json',
                    data: param,
                    processData: false,
                    success :
              });
Run Code Online (Sandbox Code Playgroud)

它收到错误: POST http:// localhost:4200/blog 500(内部服务器错误)

我做了所有这些,但我不知道为什么它不起作用.如果您有任何想法,请帮助我.

ember.js ember-cli

2
推荐指数
1
解决办法
2191
查看次数

有没有办法使用没有任何插件的emberjs创建登录/注册?

我最近经历过emberjs 3.xI已经完成了一个基本的CRUD应用程序,它存储了联系人并更新了它们.

我想创建用户并为每个用户存储单独的联系人.
但是,如果我在谷歌搜索它,我最终只会在仅使用插件的示例中.
有没有办法在没有插件的情况下登录/注册?

ember.js ember-cli

2
推荐指数
1
解决办法
36
查看次数