小编Mil*_*Joe的帖子

ember.js和服务器

我正在看Ember.js,并一直在阅读文档,试图了解如何使用它.我得到它(相当不错),除了一件事.根据我在MVC模式中的思考方式,Model是应用程序中数据的存储库.我可以看到它对Ember.js中的客户端数据有何用处.我没有得到的是如何将数据绑定回服务器,以便在客户端数据发生变化时,更改将在服务器中更新.反之亦然.我一直在我的Web应用程序中执行此操作,使Ajax/JSON调用来回到服务器,我只是没有得到如何使用Ember.js.

javascript ajax model-view-controller jquery ember.js

42
推荐指数
3
解决办法
2万
查看次数

Ember.js和RequireJS

有没有人在RequireJS和Ember.js上取得多大成功?看到Ember喜欢将其结构分配给一个全局对象,我发现它可以与Requirejs真正对接.像LAB.js这样的东西会更适合Ember吗?

javascript requirejs ember.js

34
推荐指数
2
解决办法
2万
查看次数

用Ember做导航的正确方法

什么是"正确的方式"(或者至少是选项,如果没有单一的"Ember方式"这样做)导航侧边栏?我应该以某种方式查看ContainerViews,还是应该使用新的插座功能并将导航粘贴到我的应用程序视图中?

另外,根据URL(我正在使用路由)在li上设置.active类的"正确方法"是什么?对此有什么帮助吗?

ember.js ember-router ember-old-router

28
推荐指数
2
解决办法
2万
查看次数

如何在Windows 8中使用StreamWriter编写文件?

StreamWriter在windows-8中创建对象时遇到了麻烦,通常我只是创建一个实例,只是将一个字符串作为参数传递,但是在Windows 8中我得到一个错误,表明它应该接收一个Stream,但我注意到了Stream是一个抽象类,有谁知道编写一个xml文件的代码怎么样?BTW我正在使用.xml因为我想保存序列化对象,或者有人知道如何将序列化对象保存到文件中Windows 8?

有任何想法吗?

目前正在使用Windows 8 Consumer Preview

码:

StreamWriter sw = new StreamWriter("person.xml");

错误:

The best overloaded method match for 'System.IO.StreamWriter.StreamWriter(System.IO.Stream)' has some invalid arguments

c# windows-8 windows-runtime

18
推荐指数
1
解决办法
2万
查看次数

我怎样才能获得我以前的路线?

如何在我当前的控制器中获取以前的路由器.

App.MyController = Em.ObjectController.extend({
    next:function() { // This is my action helper in HBS
        this.transitionTo('nextPage');
    },
    back:function() { // This is my action helper in HBS
        // Here I need to dynamically identify my previous route.
        // How can I get my previous route.
    }
});
Run Code Online (Sandbox Code Playgroud)

ember.js ember-router

18
推荐指数
1
解决办法
8344
查看次数

Ember.js:查看按键事件的监听

在我的应用程序中,我有一个包含一些设置信息的面板.点击按钮即可打开/关闭此面板,但我也希望能够通过敲击esc键盘来关闭它.

我的View代码如下所示:

Social.MainPanelView = Ember.View.extend({
    elementId: 'panel-account-settings',
    classNames: ['panel', 'closed'],
    keypress: function(e){
        console.log(e);
        console.log('keypress');
    },
    close: function(){
        this.$().prepareTransition().addClass("closed");
    }
});
Run Code Online (Sandbox Code Playgroud)

我也尝试过keyup和keydown,但没有任何反应.我怀疑这是因为这不是一个"输入"类型的视图,而只是一个标准视图.那么如何从关键事件触发View上的方法呢?

我应该澄清,这不属于这一特定要素的路线.我正在打开独立面板,如本视频中所示:

http://screencast.com/t/tDlyMud7Yb7e

更新1

这是我创建的一个快速小提琴,用于说明我遇到的问题.我可以很容易地触发click事件,但我正在寻找一个页面范围的keyup事件,它将检测被按下的esc键并触发特定View上的方法:

javascript-events ember.js

14
推荐指数
2
解决办法
2万
查看次数

新的ember.js路由:如何连接网点?

我很困惑如何使用新的路由器方法连接插座.

index.html的:

...
<script type="text/x-handlebars" data-template-name="application">
  <h4>The application handelbar</h4>
  {{! outlet 1}}
  {{outlet}}
</script>

<script type="text/x-handlebars" data-template-name="index">
  <h4>The index handelbar</h4>
  {{! outlet 2 and 3}}
  {{outlet nav}}
  {{outlet main}}
</script>

<script type="text/x-handlebars" data-template-name="main">
  <h4>The main handelbar</h4>
</script>

<script type="text/x-handlebars" data-template-name="nav">
  <h4>The nav handelbar</h4>
</script>
...
Run Code Online (Sandbox Code Playgroud)

app.js:

...
App.Router.map(function(match) {
  this.resource("index", { path: "/" });
  this.route("test");
});

App.IndexController = Ember.Controller.extend({
});

App.IndexView = Ember.View.extend({
  templateName: 'index'
});
...
Run Code Online (Sandbox Code Playgroud)

此代码呈现outlet-1.

问题:

  • 为什么要渲染outlet-1?outlet-1和"index"如何连接?
  • 如何将插座2和3连接到同一个"索引"站点?

谢谢

ember.js ember-router

13
推荐指数
2
解决办法
5543
查看次数

嵌套路由渲染到相同的模板/插座中断浏览器后退按钮单击

我有一个嵌套的路由层次结构,我需要我的应用程序来跟踪用户模型选择.我正在尝试使用主应用程序模板,并将每个路径渲染到该模板上的单个插座中.当我遍历从父级到子级的路由层次结构时,这是有效的.

但是,一旦单击浏览器后退按钮以返回路径层次结构,父路由renderTemplate挂钩就不会触发.这导致儿童从插座上脱钩而没有任何东西再次进入插座.

这是一个例子:

App = Ember.Application.create({});

App.Router.map(function(){
    this.resource("animals", function(){
        this.resource("pets", function(){
              this.route('new')
        })
    })
});
App.PetsView = Ember.View.extend({
    templateName : 'wild/pets'
});
App.AnimalsRoute = Ember.Route.extend({
     renderTemplate: function() {
    this.render({
    into: "application",
    outlet : "A"
})
     }});
App.PetsRoute = Ember.Route.extend({
     renderTemplate: function() {
this.render({
    into: "application",
    outlet : "A"
})}});

App.PetsNewRoute = Ember.Route.extend({
     renderTemplate: function() {
this.render({
    into: "application",
    outlet : "A"
})}});
Run Code Online (Sandbox Code Playgroud)

使用模板:

<script type="text/x-handlebars" data-template-name="application">
    <h1>{{#linkTo "animals"}}Hello from Ember.js</h1>{{/linkTo}}
      {{outlet A}}
</script>

<script type="text/x-handlebars" data-template-name="animals">
    {{#linkTo "pets"}}This is animals …
Run Code Online (Sandbox Code Playgroud)

ember.js ember-router

13
推荐指数
1
解决办法
7127
查看次数

Ember-Data:"映射"如何工作

我正在尝试将一些东西与ember + emberdata + router + asp.net web api放在一起.大多数它似乎工作,但我陷入了一个错误消息,当ember-data尝试findAll通过适配器为我的模型时我得到.

在我的后端,我有一个这样的模型(C#):

public class Genre {
    [Key]
    public int Id { get; set; }
    [Required]
    [StringLength(50, MinimumLength=3)]
    public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

在我的应用程序中,我使用ember-data代表它:

App.Genre = DS.Model.extend({
    id: DS.attr("number"),
    name: DS.attr("string")
}).reopenClass({
    url: 'api/genre'
});
Run Code Online (Sandbox Code Playgroud)

我在我的应用程序中使用RESTAdapter定义了一个Store,如下所示:

App.store = DS.Store.create({
    revision: 4,
    adapter: DS.RESTAdapter.create({
        bulkCommit: false
    })
});
Run Code Online (Sandbox Code Playgroud)

商店在我的控制器中使用如下:

App.GenreController = Ember.ArrayController.extend({
    content: App.store.findAll(App.Genre),
    selectedGenre: null
});
Run Code Online (Sandbox Code Playgroud)

路由器定义为

App.router = Em.Router.create({
    enableLogging: true,
    location: 'hash',
    root: Ember.Route.extend({
        //...

        genre: …
Run Code Online (Sandbox Code Playgroud)

javascript ember.js asp.net-web-api ember-data ember-old-router

11
推荐指数
2
解决办法
8098
查看次数

Ember.js数据如何清除数据存储区

我正在体验Ember.js,并设置了一个小应用程序,用户可以登录和注销.当用户注销时,我想清除数据存储中的所有当前缓存的记录.有没有办法做到这一点,还是我必须强制浏览器重新加载页面?

ember.js ember-data

10
推荐指数
3
解决办法
9686
查看次数