javascript - 链接标记在 Ember Js 中不起作用

标签 javascript jquery templates model ember.js

这是模型

App.Store = DS.Store.extend({
   revision: 12,
   adapter: DS.FixtureAdapter
});

App.Markets = DS.Model.extend({
    ids: DS.attr("string"),
    name: DS.attr("string"),
    created: DS.attr("string")
});

App.Markets.FIXTURES = [
    {ids:"312", name:"joy", created:"2012/1/1"},
    {ids:"412", name:"adel", created:"2012/1/2"},
    {ids:"512", name:"john", created:"2012/1/3"}
]; 

App.Sources = DS.Model.extend({
   source_channel: DS.attr("string"),
   handle: DS.attr("handle")
});

App.Sources.FIXTURES = [
    {source_channel:"sc1", handle: "hn1"},
    {source_channel:"sc2", handle: "hn2"}
]; 

这是路线。

var App = Ember.Application.create();

App.Router.map(function() {
    this.resource('markets', {path: '/markets'}, function() {
        this.resource("sources", { path: "/:market_id" });
    });                                                          
});

App.MarketsRoute = Ember.Route.extend({
    model: function () {
        return App.Markets.find();
    }
});

App.SourcesRoute = Ember.Route.extend({
    model: function(){
        return App.Sources.find();
    }
});

这是模板

<script type="text/x-handlebars" id="_sources">
  {{#each sources in content}}
    <span>{{sources.handle}}</span>
    <span>{{sources.sources_channel}}</span>
  {{/each}}

</script>

<script type="text/x-handlebars" id="markets">
    {{#each markets in content }}
        {{#linkTo 'sources' markets.ids class="test" }}<span>Source</span>{{/linkTo}}
        <span>{{markets.name}}</span>
        <span>{{markets.created}}</span>

    {{/each}}

    <div class="sources">
        {{partial "sources"}}
    </div>
</script>  

当我转到 /#/markets 时,我可以看到市场列表。这是正确的。

关注市场模板的{{#linkTo 'sources' markets.ids class="test"}}Source{{/linkTo}}

在这里,markets.ids 不起作用。 单击链接时,我想转到 /#/markets/markets_id

最佳答案

随着将对象传递给 linkTo 中的 sources 路由,

App.SourcesRoute 中定义 serialize 方法。

模板:

{{#linkTo 'sources' markets class="test" }}<span>Source</span>{{/linkTo}}

路线:

 App.SourcesRoute = Ember.Route.extend({
    model: function(){
        return App.Sources.find();
    },
    serialize: function(model) {
        return { market_id: model.ids };
    }
});

关于javascript - 链接标记在 Ember Js 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17690886/

相关文章:

javascript - 为什么 Node 不能正确转义字符串?

javascript - Jquery 单选按钮提交多次重复相同的值

c++ - 只有一个模板特化有用吗?

c++ - 带有部分参数包的可变辅助函数

javascript - extjs4:如何提交相同的表单数据两次

javascript - 这种 JavaScript 编码风格有什么问题? (闭包与原型(prototype))

javascript - 处理复杂 Web 界面的 javascript 事件

c++ - 我如何专门化这个模板成员函数?

javascript - 为 angularJS 中的表单控件生成动态 ng-model

javascript - AJAX URL 追加与存储的 jQuery .data() 冲突