问题标签 [ember-controllers]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ember.js - ember 2.0:在多个路由中使用相同的控制器
如何在 ember 2.0 中指定在路由中使用哪个控制器?默认是每条路由都有自己的控制器,如果我没有控制器代码,那么在运行时会生成一个默认的空控制器。
我想指定几个路由共享同一个控制器(和模型)。我看到在旧版本的 ember 的文档中,可以在路由定义中使用“controllerName”属性指定控制器,但是对于最新的 ember 版本,该部分文档已被删除。当我测试 controllerName 属性时它不起作用。
ember.js - 如何在另一个控制器余烬中绑定应用程序控制器属性
我在 ApplicationController 中有搜索属性,它与搜索的输入字段相关联。我想访问 ProjectController 中 ApplicationController 的搜索字段。它应该是同步的。我使用以下代码,但它不起作用。
/app/controllers/projects/index.js(项目控制器)
/app/controllers/application.js(应用控制器)
应用程序.hbs
{{input value = search}
}
ember.js - 在控制器中访问模型集合 - Ember2.5
在控制器上创建计算属性时尝试访问控制器的模型时,出现以下错误:
model.uniqBy is not a function
app/controller/ticket.js
我提供给控制器的模型是从 返回的集合this.store.findAll('ticket');
,但尝试迭代它似乎会导致上述错误。给模型的集合不应该是 Ember.Enumerable 对象吗?我是否应该尝试通过 DS.Store 访问集合(在这种情况下,我不明白需要将模型传递给控制器)?
ember.js - 显示位置
我想以包含位置的表单输入位置,然后单击提交按钮,该位置应显示在谷歌地图中。谷歌地图应该显示在下一页,我想用图标显示在医院附近。
我试过了,但我没有。
应用程序/模板/newcase.hbs
应用程序/路由/newcase.js
应用程序/控制器/newcase.js
应用程序/模型/case.js
应用程序/模板/组件/new-case.js
我将app/template/newcase.hbs 更改为app/template/component/new-case.hbs
应用程序/模板/index.hbs
{{新案例}}
请告诉我如何显示位置和附近的医院以及如何添加每家医院的纬度,纬度
ember.js - 如何将 EmberJS 输入值存储在控制器上的对象或数组中
我通过 Ember每个助手以编程方式显示了一些输入字段。这些输入与从我的数据库返回的数据相关,并且我为每个输入都有一个相应的唯一 ID,如果需要,我可以使用它。
我的问题是如何将这些动态生成的输入的值存储在我的控制器上,以便我可以访问用户的输入数据?我试图做这样的事情:
但是,尝试以这种方式访问对象或数组会导致与上述指定值的语法相关的构建错误(对象点表示法也会导致构建错误)。
简而言之,我试图将输入字段的值保存为对象或数组的属性,而不是控制器上的普通变量。我希望可以从以下形式的“inputData”变量访问表单中所有输入的输入数据:
主要问题是在车把代码中使用动态键(来自 solutionType.id)而不会出现构建错误。
如果使用 value 属性无法做到这一点,但您知道如何通过操作或其他方式完成此操作,那么我非常愿意接受您的想法。
ember.js - EmberJS 2.7 将数据向下传递到组件失败
我已经阅读了很多关于这个问题的问题,但他们似乎都没有我在这里遇到的问题。
我正在使用第三方组件(ember-highcharts),除了这个障碍外,它工作得很好。
我有一条名为仪表板的路线。现在这条路线只是使用 dummydata,它没有使用商店。这有助于说明问题。
模板/仪表板.hbs
路线/仪表板.js
模板/组件/summary-chart.hbs
组件/summary-chart.js
为什么模型未定义且未传递到摘要图表组件中?图表呈现(您可以看到标题),但当然没有绘制数据,因为模型未定义。
如果我将组件更改为此,因此数据是组件的“本地”,那么图表将使用数据点呈现:
模板/组件/summary-chart.hbs
组件/summary-chart.js
请注意,“summaryData”是与“modelTestData”相同的数据结构,因此图表了解如何绘制它。
我不明白为什么路由/控制器组合没有将模型传递给子组件。
ember.js - ember js 中的three.js 动画
我应该如何为 ember js 中的动画创建三个.js 的渲染循环。我到目前为止的代码是
我得到的错误this
未定义在requestAnimationFrame
。解决这个问题的正确方法是什么?
ember.js - Ember.js 动作冒泡但控制器未定义
我有一条有afterModel
钩子的路线。
我的申请路线中有一个动作:
当我允许动作从带有afterModel
钩子的路由中冒泡时,我收到以下错误。
Error while processing route: embed Cannot read property 'set' of undefined TypeError: Cannot read property 'set' of undefined
如果我在应用程序模板中调用操作doInAppRoute
,一切都会按预期运行。
如果对doInAppRoute
气泡的操作调用,this.get('controller')
在我的应用程序路由中未定义。为什么?
以及如何更改它以使冒泡操作更新应用程序控制器属性?
javascript - Ember 2,过滤关系模型(hasMany,belongsTo)并根据关系计算计算属性
这些是我的文件:
楷模
应用程序/模型/basket.js:
应用程序/模型/box.js:
应用程序/模型/cart-line.js:
应用程序/模型/product.js:
路线
应用程序/路线/basket.js:
控制器
应用程序/控制器/basket.js:
问题:
我是新手,所以我在学习和犯错误。对不起。
1)当我第一次进入路由时,哪种 Ember 过滤关系的最佳方式是?例如,现在我在我的应用程序中加载每个框boxes: this.store.findAll('box')
。我需要一种方法来不加载我的 web 应用程序中的所有框,只加载篮子中的一个。我需要直接从后端“使用过滤器查询”吗?
更新的问题
2) 哪个是计算 subTotal 的最佳 Ember 方法?现在,使用下面的代码,Ember 给了我 subTotal,但只是在console.log(tot)
承诺之内和之后!为什么这个?我怎样才能等待承诺?我不明白该怎么做:
它在模板 [object Object] 中给了我,因为我也在 hbs{{log subTotal}}
和控制台中使用它给了我这个:
为什么它显示 3 次subTotal called: 0
,无论是零个、一个还是一千个产品。他总是打三遍subTotal called: 0
,为什么?
将计算属性与 promise 一起使用好吗?
3)我对这种关系封装是否正确?
更新的问题 2:
现在我正在使用这段代码,但没有成功:
评论是许多尝试。
在我使用的模板中:
但promise
要有null
内容。
我哪里错了?
有什么不正确的return
吗?
这段代码“有希望”正确吗?