我希望重用在custum中定义的websocket连接。适用的定义如下:
DS.SocketAdapter = DS.RESTAdapter.extend({
socket: undefined,
init: function(){
this.socket = new App.WebSocketHandler("ws://my-cool-connection");
this._super();
},
find: function (store, t
我是Ember Data的新手,到目前为止我所做的都是FIXTURE Data,但今天我正试图毕业于真正的交易,并意识到我对如何连接模型和API的调用签名知之甚少
具体来说,我希望能够调用端点GET/activities/[:user\u id]/[date]。这将加载一个“活动”对象数组,但只加载给定日期的对象。我知道我可以通过以下方式偏移API的目录:
DS.RESTAdapter.reopen({
namespace: 'api'
});
在我的例子中,api前缀是合适的。我想
鉴于以下路线:
App.Router.map ->
@resource 'locations', path: '/:location_id', ->
@route 'events', path: '/events/:date'
App.LocationsEventsRoute = Ember.Route.extend
model: (params) ->
location_id = @modelFor('locations').get('id')
我使用的是Ember.js1.0和Ember数据1.0.0beta2。我有几个相关的模型:
Whistlr.Upload = DS.Model.extend
organizations: DS.hasMany('organization')
Whistlr.Organization = DS.Model.extend
upload: DS.belongsTo('upload')
用户通过Jquery文件上传在组织表单中创建上传。在成功回调中,我将关系设置为:
upload = @ge
我使用的是ember cli v1.13.8。Ember将应用程序构建到application-name.js和vendor.js以及类似的命名css文件中。有没有办法将它们构建到单个js和css文件中,这样在我的index.html中,我就可以只引用一个js和css文件,而不是每个引用两个?有一个插件
基本用法是
ember install ember-cli-concat
有关使用此加载项的完整信息,请参阅。不太相关,但也许您应该看看这个全新的预发行版,它将在不久的将来尝试改变很多事情:
标签: Ember.js
ember-clibackwards-compatibility
我有一个用2.5.1编写的小型ember cli应用程序,我被要求与一个更大的旧ember应用程序集成
较旧的ember应用程序是使用ember cli 0.1.2编写的
我试图找出以下几点:
ember的哪些版本与不同的ember cli版本一起使用(是1:1映射吗?)
在这些不同的版本之间有什么重大的变化(我想象了很多)
无论我是否甘心将我的新应用降级到旧版本,还是我是否可以将旧应用拖到最新版本
任何你认为有用的信息或经验都会很好 通过back查看ember版本在0.1版本中不在parI上我
我使用的是Ember 2.7。有没有办法在路线图URL中指定查询参数
router.js
import Ember from 'ember';
import config from './config/environment';
const Router = Ember.Router.extend({
location: config.locationType
});
Router.map(function() {
this.route('index', {path: '/'
我使用的是带有@value属性的双向绑定
我传递到值中的数据来自参数,因此需要从getter返回数据,然后才能在模板中使用它
我的问题是如何使用带getter的双向绑定。我不断收到错误消息,指出无法设置#的属性inputText,它只有一个getter
我尝试使用{{mut}}并尝试为getter创建setter,但没有任何效果
post请求实际上可以工作,但我仍然在控制台中遇到那些恼人的错误
// Component JS
get inputText() {
return this
我在Ember源代码的许多地方都看到了Ember.RootResponder,但几乎毫无例外,它被注释掉了。RootResponder是“新的”defaultResponder吗?它还在开发中吗?关于其他sproutcore/embers技术的提示(也欢迎查看和状态!)
谢谢。余烬中没有RootResponder。我们有一个EventDispatcher
我试图找到从点击处理程序中获取Ember.Button文本标签的“Ember”方法。目前我有这个方法(而且很有效),但我怀疑有一种更“正确”的方法:
App.RecentNameBtn = Em.Button.extend({
click: function(e){
App.tweetsArray.set('username', e.srcElement.innerText);
App.tweetsArray.loadTweets();
}
});
当使用非远程AJAX调用的现有JSON引导Ember数据模型对象时,我是否必须进行以下2个调用:
App.store.load(App.Account, data);
var account = App.store.find(App.Account, data.id);
是否不可能一步创建对象,类似于对现有Ember对象调用setProperties
另外,这对于创建余烬模型对象的集合是如何工作的?例如:
var users = App.get('users');
App.store.load
/开始说明原因
我正在进行“加载更多”类型的交互:用户在页面底部,我加载更多内容
当我使用一个以“pinterest风格”(砌体)格式化内容的插件时,我需要获取一个rest调用的输出,使用一个ember视图进行格式化,我正在做一些类似的事情:
<div id="list">
</div>
<div id="hidden" style="display:none">
{{#each item in App.itemsController}}
tes
我很难使用余烬数据设置归属关系。我有一个问题要证明。我最初的问题是,我遇到了以下错误:
Uncaught错误:无法响应状态为rootState.loaded.updated.inFlight的事件loadedData。
只有当我使用select更新模型上的belongsTo关系时,才会发生这种情况。这是使用余烬数据的内置重启适配器。在当前的示例中,我使用的是FixtureAdapter,似乎无法保留任何更改(如果您签出小提琴并编辑其中一本书的名称,您将看到它恢复为原始名称)?它们似乎会在适配器模
我在Ember上做事情有困难,我确信这是因为我还没有完全掌握“Ember方式”做事情,我正在尝试做一些超出标准教程范围的事情
我正在开发一种带有建议组件的文本字段,它将出现在我的web应用程序的每个页面上。我不会在这里问关于如何做的所有细节,但只是一些我从一开始就很难完成的具体事情。以下是到目前为止我所拥有的相关代码片段
// handlebars template: searchbar.hbs
{{view App.SearchField viewName="searchField"}}
&l
我刚刚更新了Ember,我正在尝试将一个旧的应用程序转换为新的路由器API
在我的模板中,我有以下内容:
<button {{ action "createNewApp" }} class="btn btn-primary">Create application</button>
但是,当我单击按钮时,该函数从未被调用。我已尝试将事件的目标更改为控制器,但它仍然不起作用。这是一个错误还是我做错了什么?我能够使用路由器的events属性中的函数(感谢sly7_7)或控制器
我真的是新的恩伯,我有一些问题和疑问
我使用此函数从单个表行获取信息
click: function(e) {
var element = $(e.target).closest("td");
App.person = element.text().trim();
var router;
router = this.get('controller.target.router');
router.transitionTo('newRoute');
}
我已
在emberjspre2中,我们可以从任何地方访问路由器
App.get('router')
有人能为emberjsrc1提供类似的代码吗
谢谢
有人能为emberjs rc1提供类似的代码吗
Emberjs rc1不会以这种方式公开路由器
作为替代,您应该通过本地引用访问路由器
来自控制器:this.get('target')
从视图:this.get('controller.target'))
模特:不,只是不要这样做
从控制台:可以,但请记住
不仅仅是路由器,过去可以通过全局常量访问
我正在ember js中构建一个以rails为后端的应用程序(我使用的是ember rails gem),我正在努力用正确的方式命名我的把手模板。正确的惯例是什么?例如:
我想对于路线/user\u profiles/4/我应该将模板放在user\u profiles/show.hbs中,对吗?还是应该是userProfile/show.hbs
对于一个简单的模板,应该是user\u menu.hbs或userMenu.hbs(这两个模板都为我工作)。但是,为了使用辅助对象渲染它,我需要执行以下
在Ember.js模板中有没有类似的方法
{{someObject.someArray[0].arrayPropery}}
当对象结构如下所示时:
someObject: {
someArray: [
{
arrayProperty: 'Show me in template!'
}
]
}
您可以使用:{{someObject.someArray.firstObject.property}但是最好在控制器中提供一个返回
我在embody.js模板中有以下代码:
each line_items itemController=lineItem
.line_item.row-fluid.popover_link id="line_item_#{unbound id}" click="lineItemSelected" class={selected ordered}
.span8
= product.name
if notSingleItem
span.quant
小而奇怪的问题。
我有一个对象数组。这是我的控制器
AmbiantBox.AmbiantsController = Ember.ArrayController.extend({
myArray: [],
fillData: function(){
//loop
this.myArray.push({index: 0, status: 'hide'})
//loopEnd
},
updateState: function(idx){
arr=th
在尝试为另一个问题设置JSFIDLE时
我继续询问,因此遇到了以下问题:
我尝试加载“金额”路由,该路由应通过
“索引”模板中的{{linkTo}}帮助程序。但当我点击链接时,我没有被重定向到“金额”模板,它只是停留在“索引”模板上,什么也不做(因此我猜“金额”路径也没有加载)。
车把模板:
<script type="text/x-handlebars" data-template-name="index">
<h1>Conversion</h1>
<
我有一个控制器和一个从服务器获取数据的模型
我试图初始化两个视图,一个用于编辑,另一个用于显示与此数据相关的项目列表。例如,模型包含一些用户可以编辑的搜索属性。编辑搜索参数后,我想在两个视图之间切换并显示优化的搜索结果
我找不到任何这样转换的样本
我尝试使用Ember.ContainerView示例,但似乎都失败了,出现了严重的运行时错误
不确定我是否有任何相关的代码示例:-(
任何帮助都将不胜感激我已经制作了一个切换编辑的演示,没有什么特别的,但它模拟了您的用例,我想,看一看
希望能有帮助。谢
我正在尝试将新记录添加到已存在的对象数组中。
表单运行良好,当我按下按钮上的“添加”时,我就可以通过该按钮获取值。
但是,我无法创建新记录,我得到一个错误声明
this.init.apply(this,arguments);}没有方法“CreateRecord”
谢谢你的帮助
这是我的密码:
App.Store = DS.Store.extend({
revision: 12,
adapter: 'DS.FixtureAdapter'
});
我想用handlebar助手获取handlebarjs模板名称,怎么做?谢谢例如
给出:
a、 哈佛商学院
你好
{{fileName}}
我想:
a、 html
你好,a
我认为简单而安全的方法是获取当前视图的模板。
并使用Ember.TEMPLATES根据身份获取您的姓名
因为模板结构是{templateName:compiledTemplate}
Ember.Handlebars.registerHelper('filename', function(options) {
var
我正在尝试创建一个自定义url
更具体地说,我已经做的是:
mypage.com/details/1
我想做的是:
mypage.com/details/john-doe
当然,我想要与现在完全相同的行为,唯一的区别是自定义字符串而不是id
这是我的DS型号
App.Images.FIXTURES = [
{
id:1,
name: "John",
lastName: "Doe",
age: 25,
标签: Ember.js
ember-datahandlebars.jsember-model
在这里,我尝试使用实现CRUD操作。
我对灰烬环境完全陌生,实际上我对灰烬环境了解不多
在这里,我试图添加新产品并删除现有产品。我正在使用fixture
i、 e.购物车项目。My此装置包含两个节点,即登录和购物车项目,这就是我的装置结构:
Astcart.Application.adapter = Ember.FixtureAdapter.create();
Astcart.Application.FIXTURES = [
{
"logged_in": {
"log
余烬本身是可怕的,但它的文档是繁琐和复杂的。我花了两周的时间,还没有完全掌握它。对我来说,最困难的部分是如何将余烬数据集成到余烬中
例如,对于新操作,我在适当的路径中创建组模型的新记录,如下所示:
model: ->
Twicl.Group.createRecord
access: 'public'
然后捕获submit事件并在控制器中执行以下操作:
save: (record) ->
record.save().then =>
@tran
我正在尝试在灰烬中使用旋转木马滑块,但由于无法使灰烬获取我的图像,我已经在堆叠。这是我的代码:
应用程序:
路由器:
ArtRank.Router.map(function (){
this.resource('index', {path: '/'}, function() {
this.resource("home", {path: '/'}, function() {
this.resource("photo", {pa
因此,我已将余烬视图设置为使用外部模板文件(.handlebar)。一般的机制是这样的。我使用的是requirejs模块格式:
define([
"ember",
"text!templates/drawer-menu.handlebars"
],
function(Ember, drawerMenu) {
var DrawerMenu = Ember.View.extend({
template: Ember.Handlebars.compile(dr
我真的很难在ember中集成select2
我想改变这一点:
<input type="hidden" value=user />
使用select2将所选结果绑定到模型中的user属性,并使用ajax将其输入到搜索输入中
请帮助。您必须首先给出一个普通的选择框,然后应用select2。
要在ember中创建选择框
{{view Ember.Select viewName="select2View"
contentBinding="optionL
我使用的是ember cli v0.0.23,试图让包与我的项目一起工作,但遇到了一些问题
首先,在我的Brocfile中,我替换了标准的Ember CLI“blueprint”版本:
var styles = preprocessCss(appAndDependencies, prefix + '/styles', '/assets');
以下是:
var compileCompass = require('broccoli-compass');
var styles = compileCo
我想根据模型中的数据设置余烬组件的标记名,如下所示:
App.TestComponent = Ember.Component.extend({
tagName: function(){return this.get('tag');}.property('tag')
});
但这不起作用。W3C规定您不能更改元素的标记名,因此我可以理解为什么将变量绑定到静态属性会有问题——只是不确定如何实现这一点
有什么想法吗?使用标记名
{{test-foo tagName=item}}
显示如何基
标签: Ember.js
handlebars.jsember-simple-auth
目前我面临的问题是,我需要在自己的一个控制器中使用来自ember simple auth()的invalidateSession()操作
我通常像他们在示例中一样使用它:{{{action'invalidateSession'}}在我的把手模板中。在调用invalidateSession()之前,我需要做一些preLogout的工作,所以需要有一种方法,但目前我还不知道该怎么做
模板:
{{action'preLogout'target='view'}
视图:
控制器:
actions:{
我正在使用Ember开发一个移动应用程序。我想让用户体验尽可能好,并尝试考虑到移动设备上的连接并不总是那么好,这就是为什么我想利用带有加载微调器的加载路径。不幸的是,在一个案例中,它的行为并不像我预期的那样:
在我的嵌套管线设置中:
UserRoute:
UserIndexRoute (=Profile)
UserFriendsRoute
在UserRoute上,我只加载用户的一个小版本(=不同型号)。在95%的情况下,当我想在那里导航时,该模型已经加载。在子例程中(例如UserI
我想从商店里找到模型。我尝试:
途中:
MyApp.EventTalksRoute = Em.Route.extend
model: ->
MyApp.get('store').findBy('type', 'workshop')
MyApp.store.findBy('type', 'workshop')
Em.computed.findBy('type', 'workshop')
同样在控制器中:
MyApp.EventTalksController =
我正在将基于globals的实时Ember应用程序转换为利用Ember cli的基于es6的应用程序。在我的应用程序中,我需要经常了解当前路线。在globals版本中,我就是这么做的
全局模式
var MyApp = Ember.Application.create({
currentRoute : ''
});
MyApp.Route = Ember.Route.extend({
actions : {
didTransition : function ()
在我当前的余烬设置中,我检索索引路由的存储。这个很好用
App.IndexRoute = Ember.Route.extend({
model: function(){
var store = this.store.find('index');
return store;
}
});
但是,我希望为同一个路由创建一个自定义表单对象,因此按照的建议,我尝试像这样为索引路由返回两个模型,但是,我现
我已经为正在工作的应用程序创建了一个加载模板,现在我正在尝试为我的路由创建自定义加载模板,但我无法让它工作
这是我的文件结构(使用pods)
这是我的路由器.js
Router.map(function()
{
this.route('author.show', { path: '/author/:author_id' });
});
我正在使用
余烬1.13.7
ember cli 1.13.8
余烬数据1.13.8
如何获得“author.show”路线的自定义加载模板?已解决
我
我需要在我的Ember.js应用程序中根据一些数据呈现不同的组件。我已经通过组件帮助器设置了这一点,如下所示:
{{component article type}}
这一切都很好,但很自然,如果article type属性与应用程序中任何组件的名称不匹配(这可能是由于胖手指造成的),它会给我们一个漂亮、明确的错误消息:
Uncaught错误:断言失败:HTMLBars错误:找不到名为“不存在组件”的组件(找不到具有该名称的组件或模板)
这也很好,但现在我有一个小问题:我想在应用程序中优雅地
我的hbs文件中有一个select-2标记,我在其中填充服务调用的结果。该服务以所有大写字母返回结果,我必须将其改为驼峰大小写。
以前我使用的是简单的selecthtml标记,因此可以使用ucwords助手来实现这一点
<select onchange={{action "doSomething" value="target.value"}}>
<option value="">Any</option>
{{#each
我使用ember.jsv1.13.0并使用模板助手
import Ember from 'ember';
export default Ember.Handlebars.makeBoundHelper(function(data, recordType, options) {
data = data || '';
if (recordType == 12) {
//not escaped
escaped = data + "<a href=
因此,我最近安装了Ember,并在他们的网站上使用《入门指南》进行一个教程项目,但不幸的是,当我尝试运行Ember命令时,它抛出了这个奇怪的错误。我已附上SyntaxError的图片
我到处都找遍了,但找不到解决问题的答案。有谁能帮我解决这个问题吗
谢谢。您需要将Node.js版本升级到v4或更高版本(v7是最新版本)。您可以从此处下载Node.js:
class是添加到ES6的新功能,ES6是2015年推出的新版本Javascript。Node.js在v4之前不支持类;这就是为什么会出现此错误
我目前正在为用EmberJS编写的应用程序编写测试。我用的是海市蜃楼。
我有以下两种型号:
mirage/models/paperwork.js
export default Model.extend({
customer: belongsTo('customer'),
paperwork_products: hasMany('paperwork-product', { inverse: 'paperwork' }),
export default DS.Model.extend({
我创建了一个简单的EmberJS应用程序,它列出了无头CMS中的作业。来自后端的作业数据采用此格式
[
{
"id": "1234",
"description": "Test description"
"category": "Human Resources"
},
{
"id": &quo
我正在跟踪Rails课程的完整堆栈余烬。由于他们还没有使用辛烷值,我在需要使用Ember 3.22的地方修改了代码。我被困在视频22中,需要将数据传递给组件。这个数据应该只传递给组件,但是当更新组件内部的值时,我不希望在其他地方看到更改
在视频中,这是在didReceiveAttrs()处理程序中处理的,但在辛烷值中不可用。相反,余烬文档描述的是自动发生的事情。就我而言,它不会:
{{! author.edit.hbs !}}
<h3>Editing: {{model.last}}
我有一个帐户列表,然后我有一个查看链接来详细查看帐户,这就是帐户路径。当我点击查看链接时,(guid)在通过路由器时不会更新,它只会更新URL,但似乎不会传递到代码中
当我刷新浏览器时,(guid)会被传送到路由器。。。由于某种原因,它无法解决
我不使用余烬数据,但将在未来使用它
以下是我的“帐户”模板代码和“查看”链接:
My controller.show是我发送上下文以调用脚本以显示帐户详细信息的地方
所以我只需要视图每次都执行正确的accountguid,然后调用show(context
在我的应用程序的某个地方,服务器一次返回一堆记录。我在Ember中处理这个问题的方式如下:
$.each(json["foos"], function(idx, val){
DS.get('defaultStore').load(App.Foo, val)
});
它很好用,除了联想。如果我有以下资料:
App.Dad = DS.Model.extend({
sons: DS.hasMany('App.Son')
})
App.Son = DS.Model.extend({
从视图中的控制器访问和更改属性的有效方法是什么?我在视图中有多个视图。我必须更改parentView的属性,而不必引用this.get('parentView.property'),因为我经常重用视图,层次结构变化很大
如何在ember.js中有效地维护视图间的变量?如果视图的属性未绑定为模型,我遵循的一种方法是在视图之间使用公共控制器并观察控制器的属性
例如
这样,您就不会担心其他视图对象的存在,也不会违反任何MVC规则如果视图的属性未绑定为模型,我遵循的一种方法是在视图之间使用公共控制器并观
更新记录时,我会执行以下操作:
...
this.transaction.commit();
entry.on("didUpdate", this.afterSave.bind(this, success_msg));
但是我的函数afterSave在运行循环中“累积”(没有更好的方法来描述它)。也就是说,我第一次编辑记录时,afterSave被调用一次。第二次,它被调用两次,以此类推
我做错了什么
编辑
根据,记录。on订阅事件。当我想保存已编辑的记录时,我基本上会执行以下操作:
...
t
上一页 1 2 3 4 5 6 ...
下一页 最后一页 共 303 页