我正在使用ember-i18n库来翻译我的应用程序中使用的静态字符串.由于语言文件相当大,我不想在应用程序启动时加载所有可能的语言词典.因此,我想在用户选择更改语言时动态加载字典.我做了第一个相当好的实现.
见http://jsfiddle.net/cyclomarc/RYbNG/7/
启动应用程序时,它以英语呈现.您现在可以选择其中一个视图("关于"或"信息"),这些视图也以英语呈现.当您单击"荷兰语"时,将加载荷兰语语言字典,并以正确的语言将应用程序重定向到索引路径.
似乎新的语言字符串仅在您转换到虚拟路径然后返回到您想要的路径时使用(在我的示例中,这始终是'索引').
updateLanguage: function (lang) {
var _self = this;
//Load correct dictionary and transition to index route
$.getScript("http://libraries.azurewebsites.net/locales/dictionary_" + lang + ".js", function () {
CLDR.defaultLanguage = lang;
_self.transitionToRoute('I18redirect');
});
}
App.I18redirectRoute = Ember.Route.extend({
activate: function () {
this.transitionTo('index');
}
});
Run Code Online (Sandbox Code Playgroud)
我的问题:
这是重新加载view.template(转换为虚拟路由然后激活转换到索引)的最佳方法吗?
有没有办法转换回您请求语言更改的路径(需要使用get(路径)左右的东西)?
我还想将字符串"外部"转换为红色div(应用程序插座).我转换回索引,但在这种情况下,应用程序模板没有重绘...可能是什么原因?
当你离开模板然后重新输入模板时,模板本身是用所有语言字符串重建的,或者只有在此期间语言被更改时才是预期的行为?如何在控制台日志中跟踪带有新字符串的模板重建?
还有什么其他想法可以使它成为一个强大的交换解
我想知道当没有指定搜索查询时(我只过滤文档)并且没有指定排序选项时,弹性搜索如何排序(在什么字段上).它看起来像是随机排序...默认排序顺序是_score,但是当你没有指定搜索查询时,得分总是1 ...
我想在弹性搜索中使用更像这个查询来查找类似的文档.但是,我需要过滤执行查询的文档.
示例如下:我想查找类似于博客ID为123456但由作者120或作者123编写的博客项目.
执行此查询时,我从所有作者那里收回类似的博客,因此不会过滤...
{
"query":{
"more_like_this" : {
"fields" : ["body" ],
"docs" : [
{
"_id" : "123456"
}
],
"percent_terms_to_match" : 0.4,
"min_term_freq" : 1
}
}
},
"filter":{
"and":[
{
"type":{ "value":"blog" }
},
{
"terms":{ "authorId": ["120", "123"] }
}
]
}
}
Run Code Online (Sandbox Code Playgroud) 我们希望实现向Windows Azure持续部署Web应用程序(前端和后端REST API为2个虚拟目录或2个网站).我们如何将这些网站保密,从而使大众无法使用这些网站?我们不希望有人发现我们的开发/暂存环境的URL并开始"玩"它.
但我们当然希望我们的开发团队和测试团队可以访问Web应用程序......
我们正在寻找一个简单的解决方案......
谢谢
我想知道是否有建议使用分析仪/过滤器来索引/搜索人名.
可能造成困难的名称示例:
马克斯
我正在将Ember rc7项目迁移到Ember 1.0.0.我有这个不寻常的错误:
Ember.State has been moved into a plugin: https://github.com/emberjs/ember-states
Run Code Online (Sandbox Code Playgroud)
只有当我将Ember.js 1.0.0与Ember数据0.13结合使用时才会出现错误.如果我包含额外的余烬状态lib,那么一切正常.
这种变化的原因是什么?为什么我需要额外的lib?
如果我将Ember.js 1.0.0与Ember数据1.0.0 beta.1结合使用,则不会发生此错误.
我希望有人可以解释为什么在某些情况下似乎需要这个额外的lib?
渣
我正在从Ember数据0.13迁移到1.0.0 beta.根据文档https://github.com/emberjs/data/blob/master/TRANSITION.md,现在有每种类型的适配器和每种类型的序列化器.
这意味着我无法再使用主键和身份验证的某些特定覆盖来定义"myRestAdapter".我现在需要为每个模型类型实现此代码,从而导致复制相同代码的xx倍.
Ember数据中的代码0.13:
App.AuthenticatedRestAdapter = DS.RESTAdapter.extend({
serializer: DS.RESTSerializer.extend({
primaryKey: function() {
return '_id';
}
}),
ajax: function (url, type, hash) {
hash = hash || {};
hash.headers = hash.headers || {};
hash.headers['Authorization'] = App.Store.authToken;
return this._super(url, type, hash);
}
});
Run Code Online (Sandbox Code Playgroud)
Ember数据1.0.0中的代码(仅用于将主键设置为_id而不是_id:
App.AuthorSerializer = DS.RESTSerializer.extend({
normalize: function (type, property, hash) {
// property will be "post" for the post and "comments" for the
// comments (the name in the payload)
// normalize the `_id`
var json = { …
Run Code Online (Sandbox Code Playgroud) 我在模板中嵌入了TinyMCE.现在,我想重新绑定TinyMCE编辑器的内容(实际上是一个textarea).
见http://jsfiddle.net/cyclomarc/wtktK/10/
在文本字段中输入文本时,{{bodyText}}中的文本会更新.我还想更新TinyMCE textarea中的文本......
知道怎么做吗?
HTML:
<script type="text/x-handlebars">
<h2>Tiny MCE</h2>
{{outlet}}
</script>
<script type="text/x-handlebars" data-template-name="index">
<form method="post" action="somepage">
App.IndexController.bodyText value:</br>
{{bodyText}}
</br></br>
Bound to Ember.TextField:<br>
{{view Ember.TextField valueBinding='bodyText'}}
</br></br>
Bound to Ember.TextArea:</br>
{{view Ember.TextArea valueBinding='bodyText'}}
</form>
</script>
Run Code Online (Sandbox Code Playgroud)
JS:
var App = Ember.Application.create({
LOG_TRANSITIONS: true
});
App.Router.map(function () {});
App.IndexRoute = Ember.Route.extend({ });
App.IndexController = Ember.Controller.extend({
bodyText: '...'
});
App.IndexView = Ember.View.extend({
didInsertElement: function(){
tinymce.init({
selector: "textarea"
});
}
});
Run Code Online (Sandbox Code Playgroud) 在Ember数据0.13中,复数定义如下:
DS.RESTAdapter.configure("plurals", {
category: "categories"
});
Run Code Online (Sandbox Code Playgroud)
配置不再存在,因此需要另一种方式来定义复数.
通过魔术,似乎如果我通过"返回this.store.find('category');"进行查找,则JSON调用包括/ categories而不是/ categorys,尽管我还没有完全指定类别的复数是类别......
Ember数据如何确定这一点?有办法覆盖吗?
谢谢
我对Ember Data 1.0.0 Beta 2有以下行为:
回滚数据更改(无需先尝试保存更改):
- 所有数据属性都还原到以前的版本 - 所有标志都处于正确状态
尝试保存后数据的回滚更改,但保存返回422错误: - 没有恢复任何数据属性 - isError标志仍然为true
我希望在第二种情况下,属性也会被设置回先前的状态,并且isError标志被清除.
这是我如何恢复:
cancel: function () {
var author = this.get('model');
author.rollback();
},
Run Code Online (Sandbox Code Playgroud)
这是一个已知的问题 ?
谢谢