对不起,如果之前已经被问了一百万次,但我似乎无法在任何地方找到满意的答案.
我正在尝试构建一个把手帮助器连接到我的i18n库中,我需要它接受任意数量的命名参数,如下所示:
{{i18n yml.text.definition count=2 name="Alex" ... param="hello}}
Run Code Online (Sandbox Code Playgroud)
这将转换为这样的调用:
i18n.t("yml.text.definition", { count: 2, name: "Alex", ... param: "hello"})
Run Code Online (Sandbox Code Playgroud)
这可能吗,还是我完全离开了我的树?
我想在我的Ember-CLI应用程序中使用这个Node.js模块https://www.npmjs.com/package/remarkable-regexp.
如何将其提供给Ember应用程序?
我通过添加它来尝试它 Brocfile.js
app.import('node_modules/remarkable-regexp/index.js');
Run Code Online (Sandbox Code Playgroud)
但它失败了:
路径或模式"node_modules/remarkable-regexp/index.js"与任何文件都不匹配
让我们说
Post = DS.Model.extend({
comments: DS.hasMany({async: true})
})
Comment = DS.Model.extend({
post: DS.belongsTo()
})
Run Code Online (Sandbox Code Playgroud)
并且我必须使用该links功能,否则由于对帖子的评论过多而导致414错误.
自此提交https://github.com/emberjs/data/commit/4d717bff53f8c93bedbe74e7965a4f439882e259
似乎不可能触发post.get('comments')的重新加载,即发送GET请求,例如post/42/comments.
那有什么解决方案吗?
我试图导入ember-localstorage-adapter作为
import DS.LSAdapter from "ember-localstorage-adapter";
Run Code Online (Sandbox Code Playgroud)
但我得到了错误
错误:第5行:导入后丢失
我是否需要使用ES6 Module Transpiler编译ember-localstorage-adapter?
这是我组件模板的一部分:
{{#each displayResults}}
<li {{action addSelection this}} {{bindAttr class=\":result active\"}}>
{{#if controller.template}}
{{yield}}
{{else}}
<span class=\"result-name\">{{displayHelper controller.searchPath}}</span>
{{/if}}
<\/li>
{{/each}}
Run Code Online (Sandbox Code Playgroud)
我希望用户能够自定义用于显示结果的html.
问题是在{{#each}}帮助器中调用{{yield}},如果组件声明如下:
{{#auto-suggest source=controller.employees destination=controller.chosenEmployees}}
<span class=\"result-name\"><img src="img/small_avatar.png"/>{{fullName}}</span>
{{/auto-suggest}}
Run Code Online (Sandbox Code Playgroud)
然后{{#auto-sugges}}之间的块没有组件中{{#each}}帮助器的上下文.
有什么我可以做的或者这就是它的方式吗?
在我的车把模板中,我有这个循环:
{{#each itemController="fund"}}
<li>
<label>{{title}}</label>
<span>{{amount}}</span>
{{input type="text" placeholder="new user"
value=newFullName action="createUser"}}
{{partial 'user-list'}}
</li>
{{/each}}
Run Code Online (Sandbox Code Playgroud)
并且需要将当前对象作为参数传递给'createUser'动作.像这样的东西:
action="createUser(this)"
Run Code Online (Sandbox Code Playgroud)
要么:
action 'createUser' this
Run Code Online (Sandbox Code Playgroud)
但似乎ember无法处理输入字段内的操作参数......
我错过了什么吗?
我需要将css类添加到Ember.Select视图:
{{view Ember.Select contentBinding="kpiTypes" valueBinding="model.amount" optionValuePath="content.value" optionLabelPath="content.name"}}
Run Code Online (Sandbox Code Playgroud)
只添加类不起作用
即时通讯在我的车把模板中使用if语句.if语句有效,但是当你尝试更改路由时,它会导致Uncaught TypeError:无法调用未定义的方法'unchain'.
我在以下jsbin中重新创建了错误
self.resultList.forEach(function(item, index, enumerable){
console.log(self.resultList);
item.id=11;
item.get('id');
});
Run Code Online (Sandbox Code Playgroud)
像这样的项目:

如果这样item.id = 11;
的例外:
断言失败:您必须使用Ember.set()来访问此属性([object Object])
所以item.get('id')或item.set('id',11)
像这样的例外
未捕获的TypeError:对象#没有方法'get'
这个项目不是Ember的对象吗?那么这个项目是什么?
有人能告诉我如何改变'itme.id的价值..
太感谢了
我有这个productsCount计算属性应该计数所有,products但它总是返回0.为什么这样,我该如何解决它?
controller.js
productsCount: Ember.computed('model.products', function() {
var products = this.get('model.products');
return products.get('length');
}),
Run Code Online (Sandbox Code Playgroud)
route.js
import Ember from 'ember';
export default Ember.Route.extend({
model: function() {
return {
products: this.store.find('product')
};
}
});
Run Code Online (Sandbox Code Playgroud)