gpt4 book ai didi

javascript - 将模型更改绑定(bind)到 EmberJS 中的 View

转载 作者:行者123 更新时间:2023-12-03 12:12:59 24 4
gpt4 key购买 nike

我正在尝试使用 EmberJS 实现记录器的接口(interface),效果很好,但遇到了困难。

目前我有以下代码:

日志.hbs

...
{{input action="search" onEvent="keypress" value=searchText class="search" placeholder="Search"}}
...
<table id="log" class="log">
<thead>
<th>Service</th>
<th>Start Time</th>
<th>End Time</th>
<th>URL</th>
<th>Method</th>
<th>User</th>
<th>Response Code</th>
</thead>
<tbody>
{{render "dashboard/logTableLine" model}}
</tbody>
</table>
...

logTableLine.hbs

{{#each model}}
{{#link-to "dashboard.log" _id tagName="tr"}}
<td>{{ServiceID}}</td>
<td>{{DateString StartTime}}</td>
<td>{{DateString EndTime}}</td>
<td>{{URL}}</td>
<td>{{Method}}</td>
<td>{{AuthName Auth}}</td>
<td>{{StatusCode}}</td>
{{/link-to}}
{{/each}}

和我的 app.js

App = Ember.Application.create({
LOG_TRANSITIONS: true,
LOG_TRANSITIONS_INTERNAL: true
});

App.Router.map(function(){
this.resource("dashboard", { path: "/" }, function(){
this.route("logs", { path: "/logs" });
this.route("log", { path: "/logs/log/:_id" });
});
});

App.DashboardLogsRoute = Ember.Route.extend({
model: function(){
return Ember.$.getJSON("/logs.json");
},
actions: {
search: function(value){
if(value != '')
this.set("content", Ember.$.getJSON("/logs.json?search=" + value));
}
}
});

App.DashboardLogRoute = Ember.Route.extend({
model: function(params){
return Ember.$.getJSON("/logs/log/" + params._id + ".json");
}
});

我的问题是将模型绑定(bind)到 View ,以便在对服务器的搜索调用之后 View 重新呈现。我想搜索所有数据,而不仅仅是界面中的数据(最后 100 条记录)。

那么,第一个问题:为什么 View 没有更新(绑定(bind))到模型?第二:有没有更好的方法(最佳实践)来做到这一点?

预先感谢您的帮助。

最佳答案

现在您正在实现搜索而不触发重新路由。因此,如果用户搜索后想返回搜索之前的页面,他们将无法做到这一点。您想要做的是将用户重新路由到同一页面,但传入查询参数。然后在模型函数中,您可以看到传入了哪些参数并相应地获取数据。 Ember 最新、最好的方法是查询参数功能:http://emberjs.com/guides/routing/query-params/它已经开发了一段时间,现在处于测试阶段。我愿意尝试一下,因为这是解决这个问题的一种非常干净、直观的方法。祝你好运!

关于javascript - 将模型更改绑定(bind)到 EmberJS 中的 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24871887/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com