我在创建基本选择输入时遇到问题...
应用程序/控制器/ scratch.js
import Ember from 'ember';
export default Ember.ObjectController.extend({
list: ['green', 'red', 'blue']
});
Run Code Online (Sandbox Code Playgroud)
应用程序/路由/ scratch.js
import Ember from 'ember';
export default Ember.Route.extend({
});
Run Code Online (Sandbox Code Playgroud)
应用程序/模板/ scratch.js
{{outlet}}
{{view "select" content=list}}
Run Code Online (Sandbox Code Playgroud)
Chrome控制台:
未捕获错误:断言失败:无法在路径'select'处找到视图
什....
所以我几乎有这里列出的确切问题:在Ember-cli中使用jquery
但是我已按照以上主题中的建议完成了以下操作:
添加:
app.import('bower_components/jquery-ui/jquery-ui.js');
app.import('bower_components/jquery-ui/ui/tooltip.js');
Run Code Online (Sandbox Code Playgroud)
变
Ember.$(selector).tooltip();
Run Code Online (Sandbox Code Playgroud)
至
this.$(selector).tooltip();
Run Code Online (Sandbox Code Playgroud)
尽管安装了UI并执行上述操作,Ember仍未将工具提示功能识别为已定义.
错误:
未捕获的TypeError:undefined不是函数
有帮助吗?
我正在使用ember-cli-sass而不是broccoli-ruby-sass
这些是我已经完成的步骤
npm install --save-dev ember-cli-sass
bower install --save foundation
Run Code Online (Sandbox Code Playgroud)
我启动后,我在控制台中收到此错误 ember server

我不明白为什么它说"找不到文件:/app/styles/app.scss"
我没有任何app.scss部分来自

我在配置中遗漏了一些东西,究竟是什么问题?
我正在使用三个sass文件
_global.sass
_music.sass
_player.sass
Run Code Online (Sandbox Code Playgroud)
我在app.sass中导入它们
@import global
@import player
@import music
Run Code Online (Sandbox Code Playgroud)
我正在阅读https://www.npmjs.com/package/ember-cli-sass,它说
在config/environment.js中指定一些包含路径:
ENV.sassOptions = {
includePaths: [
'bower_components/foundation/scss'
]
}
Run Code Online (Sandbox Code Playgroud)
我对这些设置感到有点困惑,我需要一些建议
我使用带有把手模板的ember-cli用于我的ember js应用程序.我有要求将值从hanldebars模板传递给ember控制器的计算属性.是否有任何方式ember支持将把手模板中的参数或任何值传递给ember控制器的计算属性.谢谢
我想做点什么:
App.Person = Ember.Object.extend({
hasPermission: function(value1, value2) {
// setter
if(value1 === value2){
return "You are permitted";
}else{
return "You are not permitted";
}
}.property('hasPermission')
});
Run Code Online (Sandbox Code Playgroud)
并从车把模板:
{{ hasPermission value1 value2 }}
Run Code Online (Sandbox Code Playgroud)
喜欢它的东西
我无法弄清楚如何ember-simple-auth使用ember-simple-auth-devise授权器(版本0.7.2)将令牌标头附加到我的后端请求.
这是我的config/environment.js样子:
var ENV = {
modulePrefix: 'frontend-app',
environment: environment,
baseURL: '/',
locationType: 'auto',
EmberENV: {
FEATURES: {}
},
APP: {},
'simple-auth': {
authenticationRoute: 'sign-in',
authorizer: 'simple-auth-authorizer:devise'
}
};
if (environment === 'development') {
// ENV.APP.LOG_RESOLVER = true;
// ENV.APP.LOG_ACTIVE_GENERATION = true;
ENV.APP.LOG_TRANSITIONS = true;
// ENV.APP.LOG_TRANSITIONS_INTERNAL = true;
// ENV.APP.LOG_VIEW_LOOKUPS = true;
ENV.contentSecurityPolicy = {
'font-src': "'self' http://fonts.gstatic.com",
'style-src': "'self' 'unsafe-inline' http://fonts.googleapis.com",
'connect-src': "'self' http://localhost:3000",
};
ENV['simple-auth-devise'] = {
serverTokenEndpoint: "//localhost:3000/users/sign_in" …Run Code Online (Sandbox Code Playgroud) 我正在将一个JS组件包装到一个Ember Addon中,这是我以前做过很多次的事情,然而我在一开始就遇到了一个问题让我担心可能是魔术的"魔力"已经转移了略?无论如何希望可以解释为什么以下:
import Ember from 'ember';
import layout from '../templates/components/nav-menu';
export default Ember.Component.extend({
layout: layout,
tagName: 'nav',
classNames: ['navmenu','navmenu-default','navmenu-fixed-left'],
attributeNames: ['role:navigation'],
classNameBindings: ['offcanvas'],
hideAt: null,
offcanvas: function() {
let hideAt = this.get('hideAt');
if(!hideAt) {
return 'offcanvas';
} else {
return 'offcanvas-%@'.fmt(hideAt);
}
}.property('hideAt'),
_initialize: function() {
this.$().offcanvas();
}.on('didInsertElement')
});
Run Code Online (Sandbox Code Playgroud)
这有两个失败.原样,它在offcanvas计算属性中失败说:

未捕获的TypeError:undefined不是函数
很奇怪,但它变得更奇怪.如果删除此计算属性,则在_initialize()调用时失败,并显示相同的"未定义不是函数"错误:

我使用的是Ember 1.11.0,Ember-CLI 0.2.2.
我有一个音乐组件播放从我的网站音乐页面内的SoundCloud API检索到的收藏歌曲.
{{soundcloud-player favorite=currentFavorite sound=currentFavoriteObject position=currentFavoritePosition isPlaying=isPlaying isBuffering=isBuffering}}
Run Code Online (Sandbox Code Playgroud)
问题是,一旦我播放了一首歌,我改变了网站的页面(路线),歌曲继续播放,解决它我需要随时设置 isPlaying false我改变route页面的音乐.
我看到有不同的方法来实现它,但我无法弄清楚我的情况
米尝试
来自不同的控制器
needs:'player',
desactivateIsplaying: function(){
var controller = this.get('controllers.player');
controller.set('isPlaying', false);
}
Run Code Online (Sandbox Code Playgroud)
或者来自不同的路线
desactivateIsPlaying: function(){
var controller = this.controllerFor('player');
controller.set('isPlaying', false);
}
Run Code Online (Sandbox Code Playgroud)
在我无法设置的两个功能中的任何一个isPlaying false,我也看到提到willTransition路线动作,我该如何使用它?有没有更好的方法呢?如果有必要,我可以制作一个旋转的余烬,以更好地再现场景
所以我是Ember的新手(使用ember-cli 3.0.4),并试图了解如何对我做什么是正常的事情.我在组件内部有一个表单,用户更新信息,然后单击"保存".我已经构建了一个动作,组件在单击"保存"按钮时调用该动作,并且该动作在模型对象上调用save().到现在为止还挺好.
我的问题是,当save()promise完成时,我想重定向到另一个页面.我无法弄清楚如何做到这一点.动作的emberjs指南并没有提到重定向,只有路由模块似乎提到了重定向.
显然,有一种"苦恼"的做事方式,我还不知道,但到目前为止,我无法弄清楚那是什么.在Ember中保存完成之后,简单的重定向如何?
组件代码:
export default Component.extend({
actions: {
saveCountry() {
var self = this;
if (this.country.get('hasDirtyAttributes')) {
this.country.save().then(
//???
);
}
}
}
Run Code Online (Sandbox Code Playgroud)
路线代码:
export default Route.extend({
model(params) {
return this.get('store').findRecord('country', params.country_id);
}
});
Run Code Online (Sandbox Code Playgroud)
谢谢!
我正在尝试渲染余数更多的余烬模型数据1000 records。完成渲染部分将需要2分钟以上的时间。
因此,我有一个计划来对其进行优化。我想100 records在第一次加载第一次。一旦他们走到尽头,那么我需要加载第二个100 records。
我怎样才能做到这一点?
当我不指定端口或显式设置端口时,总是看到:
ember serve --port 4207
Port 4207 is already in use.
Run Code Online (Sandbox Code Playgroud)
我选择哪个端口似乎并不重要。
当我从端口0开始时(让cli选择一个可用的端口),它从30000〜40000左右开始。
我在Mac上。我刚刚将ember-cli升级到3.12.0
另外:如果我启动本地的另一个余烬应用程序,它将在端口4200上运行。但是随后我停止了它并启动上述应用程序,它将无法在该端口上启动。
怎么了