在我的index.html中,我有以下模板
<script type="text/x-handlebars">
{{#with ChatApp.messagesController}}
{{view Ember.TextArea valueBinding="content.message" rows="12" cols="70"}}
{{/with}}
</script>
我的消息视图和控制器如下所示
ChatApp.Message =
我试图在id以外的其他参数上进行查找(使用余烬数据),实际上是两个参数
但我得到的回报是:
"Uncaught Error: assertion failed: Your server returned a hash with the key customer but you have no mappings".
在深入研究代码后,我发现find方法在给定哈希时委托给findQuery方法,该方法创建了一个DS.AdapterPopulatedRecordArray,但我只在json中返回一个
使用当前版本的ember router,您可以定义如下路由处理程序:
App.HomeRoute = Ember.Route.extend({
renderTemplate: function() {
this.render('home', {into: "application", outlet: "body"});
}
});
旧版本允许您在路由的退出状态下断开视图与出口的连接,如下所示:
exit: function(router){
router.get('appl
我尝试构建一个嵌套路由的链接,并希望向该链接添加一个类(用于twitter引导)
结果应该是这样的:
< a href="/#/rents/42" class="btn btn-primary btn-small">do something< /a>
提供指向ressource的链接,但无法指定(css)类。在文档中,我看到只能指定title属性
第二次尝试:
< a href="/#/rents/{{rend.id}}" class="btn btn-prima
我的路由结构:
App.ready = function() {
App.Router.map(function() {
this.resource('contacts', function() {
this.resource('contact', function() {
});
});
});
}
现在在我的联系人控制器中我响应并添加转换到联系人路径的操作。然后,我想调用我的contactCon
我正在尝试从存储中删除一条记录,并自动更新列出项目的视图,但到目前为止我没有运气
我在控制器的delete方法中尝试了tweet.deleteRecord(),但它似乎删除了用户拥有的所有“tweet”,它不会更新视图,并且当再次尝试访问用户tweet时,我收到一个错误
从存储中删除记录、更新记录可能具有的任何关系以及更新视图的正确方法是什么
下面是我代码的一部分:
型号
App.Store = DS.Store.extend({
revision: 11,
adapter: '
我有一个使用Ember auth的Ember.js应用程序
Auth.on("signInSuccess", function() {
App.currentUser = App.User.find(Auth.currentUserId);
});
我还有一个控制器(请参见App.currentUser):
问题:
绑定不起作用,因为“App.currentUser”为空。控制器在“SignInsAccess”事件之前初始化
“客户”应默认为当前用户的公司客户。控制器还具有逻辑(从显示的代
在我的Handlebar模板中使用Ember.js,我希望能够基于我存储的多个属性“构建”一个css类
我的数据如下所示:
App.AddonChoices.FIXTURES = [
{ id:101, title: 'Bark' },
{ id:102, title: 'Teal' },
{ id:103, title: 'Tangerine' }
]
App.AddonItem.FIXTURES = [{
id: 100,
name: 'Scratch
我在Ember中定义了这两个对象:
App.Course = DS.Model.extend({
name: DS.attr('string'),
students: DS.hasMany('App.Student'),
courseComponents: DS.hasMany('App.CourseComponent')
});
App.CourseComponent = DS.Model.extend({
course: DS.belongsTo('App.
在a)之后,AFAIKid是数据模板名称的较新版本,它们的工作原理似乎相同
b) id允许您在布线、渲染或“视图”中识别模板
用于路由:
您可以使用此名称帮助路由器识别要渲染的模板,例如,在路由中的renderTemplate期间使用this.render('displayStuff),以“覆盖”属于路由的默认模板
另见:
用于渲染:
模板允许以特定方式更改渲染。余烬把手提供了{{render}}和{{partial}}来更改与视图关联的默认模板
另见:
对于视图:
默认情况下,视图将根据约定查
理想情况下,我希望在没有助手的情况下这样使用它:
camelizedProperty = categoryProperty.camelize()
card.get 'camelizedProperty'
我认为这是可能的,但不知道是哪一个
我想避免的是使用计算属性,如,如果是您的储蓄我不确定代码的上下文,但似乎您正在寻找带有块帮助器的registerBoundHelper。这是不受支持的。您将遇到此警告
断言失败:registerBoundHelper生成的帮助程序不支持与把手块一起使用
另一
请点击此处:
我的应用程序对instagram进行ajax调用以获取用户的instagram提要,并在用户没有会话时重定向以进行身份验证。当access\u令牌无效时,Instagram返回HTTP 400,我想根据400状态代码重定向。但是,当400响应从$.ajax()返回时,路由中的事件:钩子不会处理它。我在setupController()方法中有代码来处理它,但感觉不对
事件:是处理这些HTTP代码和放置重定向/转换逻辑的正确位置吗?如果是的话,你知道为什么它不起作用吗?如果没有,有没
根据文件:
如果使用的是余烬数据,则只需覆盖模型挂钩
如果需要返回与记录不同的模型
提供的ID
但这对我不起作用,余烬数据给了我错误的数据
App.UsersEditRoute = Ember.Route.extend
model: (params) ->
return ['Just', 'Some', 'Random']
setupController: (controller, model) ->
controlle
是否可能有一个包含多个目标的路由@route()
也许是这样的:
@路由“文章”,路径:[“/post/:post\u id”,“/url/with/slugs/:post\u id”]
现在,我有两条不同的路线,一条是“真实的”路线,另一条是重定向到“真实的”路线。。。也许还有更直截了当的东西?没有,目前还没有。。。
在我的API和服务器上,我有一个如下的模型层次结构:
训练计划->训练->练习
我可以成功地用DS加载该结构。它有许多关系
然而,我的客户端视图将计划分解为几个星期,因此最好有一个
训练计划->周->训练->练习
如果weeks不是余烬数据模型,是否可以这样做
如果不是,我是否应该转换JSON,这样我就可以有一个hasMany on a Week模型(训练有一个Week列,我可以用作Week模型的准id)
或者最好保持当前的模型结构,只是以某种方式每周过滤训练。您的ember模型不必模仿您的服务
我在评估Emberjs时考虑是否可以将一些代码移植到它,但要维护相同的api,这样我第一天就可以真正了解它了
我正在使用Tom Dale教程,但没有余烬数据。我想我已经知道了如何将数据输入应用程序(thx@kingping2k)。我只需要把它保存/更新
我有一个doneEditing操作,当我点击它时会被调用,就像控制台看到的那样,但是我如何获得对模型的引用呢。查看controller文档(),我没有看到像model之类的明显属性。我如何告诉PostController保存邮件,它正在返回其路线
我在emberjs中有一个视图,显示ember数据存储中的结果,我有一个搜索功能,通过rest等更新存储中的结果,但是我的问题是,当存储更新时,它不会显示在视图中,除非我删除所有记录,然后再次填充它们,但是如果我这样做,然后,可能具有相同id的结果不会显示,因为我假设它们已被删除,而ember会忽略它们
有没有一种方法可以在不删除数据存储的情况下清除数据存储,以便它们仍然可以显示
到目前为止,我尝试了两种方法
this.store.unloadAll('things');
this.store
在我的测试/features/support/world.js中
module.exports = function(){
var PersistenceWorld = function PersistenceWorld(callback){
this.cleanUp(callback);
};
PersistenceWorld.prototype.addNewReciepe = function(callback){
};
PersistenceWorld.prototype.
谁能解释一下ember数据模型之间的关系,比如多态、异步、嵌入式和反向?什么时候使用所有这些关系?
我搜索了很多,找到了一些解释,但我不理解这些属性。它帮助我设计我的模型。提前谢谢 要了解更多信息,请参阅本帖
我最近从ember cli 0.0.36升级到0.0.37,一直在努力导入ember数据。虽然看起来很简单,但对我来说不起作用。在Brocfile.js中,旧的导入是
app.import({
development: 'vendor/ember-data/ember-data.js',
production: 'vendor/ember-data/ember-data.prod.js'
});
已对其进行修改,以符合新语法:
app.import('vendor/ember-
根据合同,吊舱是由箱子支撑的。Github说,发电机应该“只与吊舱一起工作”。建议它也应该起作用。但是,当我尝试ember生成model XXX时,它会生成/models/XXX.js,而不是/pods/XXX/model.js
同样,根据,我在我的app.js文件中添加了podModulePrefix:
var-App=Ember.Application.extend({
modulePrefix:“应用程序”,
podModulePrefix:'app/pods',
解析程序:解析程序
})
在过去的几年里,我来自骨干世界,我想尝试一下余烬。我想我应该尝试创建一个移动web应用程序,因为我在移动web和主干网方面做了很多工作。我正在尝试构建一个全局导航栏,它有一个保存按钮,显示在某些路线上,而我遇到的问题是如何将导航栏中保存按钮上的单击事件绑定/删除到当前路线的控制器
我有一个/routines/new路径,应用程序将向用户显示创建新例程的表单。导航栏扩展Ember.events,并通过触发器调用传播单击事件。在我的App.RoutinesNewRoute中,在didtransfor
我有一个控制器和一个组件。渲染组件时,将以以下方式传递该组件:
{{modal-filter feature=feature parentController=this.controller}}
其中,feature是通过控制器传入把手的参数,parentController是控制器
现在,在控制器本身中,有一个属性(数组)。让我们称之为数组requiredValues
现在,在控制器/组件本身中,我们可以轻松设置:
valueObserver : function(){
...
}
加载我的ember CLI应用程序目前需要下载一个3Mb文件,其中大部分由jquery、ember、bootstrap等公共库组成。3Mb不是很大,但通过缓慢的连接可以看到,因此我想去掉所有公共库,改为从CDN获取它们。这个想法是,它们将被浏览器缓存,这样就不需要在每次我更新我的应用程序时重新下载(这在目前非常常见)。我已经阅读了这个问题,它指出简单地向index.html添加一个很容易,但我不知道如何告诉他们不要将这些库打包到vendor.js中。通常有一个答案:
您需要安装Bower,这是一
我正在为ember 1.7.0中的ajax操作做一个基本示例,我所做的是在route中创建一个模型,并为原始数据创建一个ajax获取
App.IndexRoute=Em.Route.extend({
model:function(){
return Em.$.get('data.json');
},
}
现在
在使用ember cli时,我希望能够包括一个需要API密钥的外部js库,并且我希望在开发和生产中使用不同的API密钥
基本上,我想在app/index.html中添加以下脚本标记
但我希望API_键在我运行于开发环境而不是生产环境时有所不同
谢谢你的帮助 看看这个插件,它可以轻松地在您的ember cli应用程序中包含第三方脚本。要使用它,npm安装插件,然后使用初始值设定项加载脚本。然后在您的应用程序中为API_键设置不同的值
然后编辑初始值设定项,如下所示
import injectSc
我使用yeoman创建了一个余烬项目。我试图添加徽章.js作为模板,而不是车把,但我无法做到这一点。任何帮助都将不胜感激
我的GrunFile配置如下所示:
emblem: {
compile: {
files: {
".tmp/scripts/compiled-templates.js": ['app/templates/**/*.{emblem,hbs,hjs,handlebars}']
},
标签: Ember.js
ember-dataember-cliember-router
我想使用余烬查询记录加载余烬模型
我的代码:
model: function(params) {
return this.store.find("user", {username: params.username}).then(function(result){
return result.get('firstObject');
});
},
我正在使用ActiveModelAdapter
在控制台中,我看到“生成->路由:登录对象{fullName:“路由:登
这对我来说是一个持续的概念问题
我在一个选择框上设置了一个观察者,只有当用户选择了另一个选项时,我才想触发该选择框。
问题是,观察者在页面加载时触发,可能是因为数据正在加载到选择框中
如果只有切换框的用户触发观察者,我将如何完成某件事。也许是行动?如何使用选择框来实现这一点
模板:
{{view Ember.Select content=seasons
optionLabelPath="content.number"
optionValuePath="content.id
为什么组件中的计算属性不能识别视图中更改的依赖项,但可以作为观察者识别更改
我尝试了两种不同的方法。第一个属性是一个依赖于外部变量(projectId)的计算属性,它只在某些时候识别更改。另一个是观察者,有时会在与计算属性相同的时间识别更改,但在计算属性未识别时也会识别更改。例如,它在插入元素时同时识别属性和观察者,仅在同一路由内的页面转换上识别观察者,并且仅在到不同路由的页面转换上识别属性。为什么呢?据我所知,计算属性上的依赖集类似于观察者,为什么会有问题呢
这是使用计算属性的组件:
impo
我在{{{each}}上收到了一条弃用警告,说我应该切换到{{{each items}},但我无法让它工作
您需要查看内容,而不是项目
{{{#内容中的每个项目}
因此,我目前正在构建一个聊天应用程序,我需要将一个动态类绑定到消息,以定义它是发件人消息还是收件人消息。但是,我不确定如何使用当前代码将此类绑定到元素:
消息模板
我试图像下面这样定义我的类,但Handlebar抛出了一个错误:
<li class="{{messageHighlight currentUser.id message.sender_id}}">
所以我的问题是,在传递参数时,如何将动态类绑定到属性?
提前感谢。您需要从帮助程序返回转义字符串
Ember.Hand
标签: Ember.js
ember-dataember-clijson-api
我使用的是Ember 1.13.7和Ember Data 1.13.8,默认情况下使用JSON-API标准来格式化发送到API和从API接收的有效负载
我想使用Ember数据的内置错误处理,以便向用户显示红色的“错误”表单字段。我已经按照JSON-API标准格式化了API错误响应,例如:
{"errors":[
{
"title":"The included.1.attributes.street name field is required.",
"c
我有一个名为session的ember数据模型。
API服务器(无法更改)不支持POST命令来更新整个模型(因此我不能只调用.save()
我希望能够更改名为editedStatus的属性。
API服务器允许我这样做的方式是:
/编辑会话状态?..
其余属性实际上是只读的(即从ember读取)。
如何实现此目的。我是否可以以某种方式覆盖.save(),并仅对该属性执行POST请求?您可以覆盖适配器中的updateRecord和createRecord(用于新会话)方法:
此外,您可以跳过使用序
嘿,我是Ember的新手,在设置Ember使用http模拟服务器时遇到了问题
我的应用程序在运行ember g http mock developers之前运行得很好,尽管它非常基本,只有几个路由/模板/模型/控制器
我设置了适配器、模型和控制器,然后成功地创建了模拟服务器。当试图用ember-service重新启动ember时,我遇到了一个奇怪的错误,我不知道如何调试它,谷歌也帮不上忙
编辑-即使在新项目上也会发生此错误。当我键入ember new blog、cd blog、ember g h
我在项目中使用余烬数据。我知道REST适配器的URL约定如下:
Action | HTTP Verb| URL
------- | ---------|---------
Find | GET | /posts/1
Find All| GET | /posts
Update | PUT | /posts/1
Create | POST | /posts
Delete | DELETE | /posts/1
但我有一个后端的URL像这样
A
我不熟悉ember.js(但我从CakePHP和js的经验中了解MVC)
在过去的两周里,我在工作中开发了一个加载
使用REST适配器侧面加载JSON数据。我添加了一些带有动作的按钮
一切都很顺利,我学到了很多,但要弄清楚细节需要时间
目前,我所有的控制器、路线和模型都不是按折叠结构组织的
这在ember.js-Guide中有描述:
现在我想将文件移动到folderstructure。但是,应用程序不起作用。
在我看来,解析器无法在运行时找到文件。但是为什么呢
一个简单的例子不起作用:
在“ap
下面返回所有活动项
activeItems: Ember.computed('items.@each.status', {
get() {
return this.get('items').filter((item) => {
return item.get('status') === 'active';
});
}
})
// Template
{{#each activeItems as |activeItems
我在一个属性上设置了一个观察,在用户键入时填充/过滤公司名称列表。缩小列表后,用户可以单击列表中的一个项目。它有点像一个自动完成一些差异,使它的工作方式,我希望它在移动设备上。当用户开始键入表单上的所有其他控件时,当用户选择公司名称时,列表被隐藏,其他字段再次显示,还有一个按钮将关闭列表并显示其他控件,而用户不选择公司。除了我无法阻止当用户选择一家公司并且在选择该公司时运行的操作中设置了拥有该观察者的company name属性时,观察者将被触发之外,其他一切都可以正常工作
以下是控制柄条模板的
我有一个版本为0.2.7的项目,它将组件测试生成为单元测试。默认情况下,我的新项目创建集成测试。有办法改变它吗 这是现在的默认行为,据我所知,不能被覆盖,因为组件应该独立运行。但是,您可以通过以下方式生成单元测试:
ember g component-test your-component -unit
如果您想了解为什么应该尝试集成测试,我发现本文很有帮助:
如果当前默认值实际上是执行单元,而我需要集成,该怎么办?您应该更新您的Ember CLI版本,因为旧版本确实没有很好的组件集成测试。我一
我有一个名为xyz的适配器。我想把它指向一个名为abc的序列化程序,而不是xyz。有可能这样做吗?我试图设置属性,但没有成功
换句话说,正常的数据流是:
适配器:xyz>序列化程序:xyz>型号:xyz
数据流我想:
适配器:xyz>序列化程序:abc>型号:abc,其中型号xyz将不存在 您可以创建一个应用程序序列化程序,如果没有特定于模型的序列化程序,将使用该序列化程序您可以创建一个应用程序序列化程序,如果没有特定于模型的序列化程序,将使用该序列化程序不确定直接的方法,但您可以进行变通。为x
余烬版本2.2
所以我定义了这两条路线
/建造
/建造/教育
在教育路线的内部,我有一个组件,我正试图将一个动作传递给它
教育·哈佛商学院
{{#each model as |school|}}
{{common-education-institution model=school onAddSubject=(action 'addSubject')}}
{{/each}}
我在education.js中定义了一个动作
import Ember from
是否可以在没有Ember cli的情况下使用Ember组件,并使用require.js动态加载它们
由于遗留的原因,我们不得不使用require.js,并最终从中迁移,但我们需要一些时间。目前,我们在require.js中使用Ember视图很好,但我不知道如何将它们切换到控制器。您最好使用Ember cli,并使用我知道的加载您的旧代码,我们正在进行中,但这不会在一夜之间发生(这是一个大项目),因此有一个问题。Ember没有Ember cli,没问题,它将开箱即用(您必须查看旧文档,因为新文档假
我有两条这样嵌套的路线
router.js
this.route('profile', function() {
this.route('edit');
});
{{#link-to 'profile' tagName="li"}}<a href>View Profile</a>{{/link-to}}
{{#link-to 'profile.edit' tagName="li"}}<a href>Edit Profile</a>{{/lin
当我将ember更新为2.0.0时,它现在正在抱怨以下视图。问题是在我的代码中没有应用程序路由的view.js文件。我该怎么做
define('my-app/views/application', ['exports', 'ember'], function (exports, Ember) {
'use strict';
exports['default'] = Ember['default'].View.extend({});
});
堆栈跟踪:
未捕获的TypeEr
我有一个叫《灰烬游戏》的模型。访问我运行的所有游戏
this.store.query('game').
现在,我想检索所有的“即将到来的游戏”,我应该怎么做呢
我是否创建模型游戏的子类
我可以在游戏上创建一个静态方法吗,例如Game.getCombing
我必须通过一个过滤器才能进入游戏吗
谢谢 只需添加到游戏模型中即可
isUpcoming: DS.attr('boolean')
在路由中查询时
this.store.query("game", {filter: {isUpcoming
我正在尝试使用ember cli分页在我的项目上实现分页,但它不起作用。我在控制器中有类似的东西:
import Ember from 'ember';
import pagedArray from 'ember-cli-pagination/computed/paged-array';
export default Ember.Controller.extend({
// setup our query params
queryParams: ["page", "perPage"]
我有一个组件,可以将500多个数据呈现到HTML表格行中
渲染几乎需要3秒钟,浏览器已完成
我不能使用分页,因为客户端希望它像excel一样,而且它是一个静态站点
有没有办法解决这个问题?例如,在渲染组件之前创建加载状态?我想500+行不适合屏幕(视口),因此需要使用滚动
视口中有一个名为ember的插件。它使您能够在组件不在视口中时不渲染该组件
这是一本书。在应用程序.hbs中将我的组件更改为我的代理组件,以查看效果。不要一次渲染所有对象,只需加载视口中可见的内容即可。已经有不同的灰烬插件做你
加载新的路由时活动类不会切换到新选项卡。我找不到解决这个问题的办法
但新页面正在加载,没有任何问题。唯一的问题是活动类没有切换到新页面,也没有从旧页面中删除
如何解决这个问题
这是我的哈佛商学院档案:
<div class="navbar-sub-header navbar-sub-header---tab-bar" style="border:1px solid red;">
<div class="rdc-tab-bar">
{
因此,我试图保护API端点,以便只有拥有对象的用户才能获取该对象的详细信息
API将返回403响应以及符合JSONAPI的json负载:
{
"errors": [
{ "status": "403", "title": "Forbidden", "detail": "You are not authorized to access this resource" }
]
}
太好了!因此,在这一点上,我试图连接到路由的生命周期中,以便在用户尝试查看属于其他人的资源时,将其转换
上一页 1 2 3 4 5 6 7 8 9 ...
下一页 最后一页 共 303 页