我正在尝试编写我的第一个Ember
应用程序,但完全不确定我在做什么。我在 ASP MVC 4 项目中执行此操作,我希望能够单击“代理”菜单选项卡,并让 Ember 从Agent
控制器中获取相关信息。
当我认为我已正确设置时,因为当我单击“代理”菜单项时,我收到以下错误:
“加载路线时出错”
同样,这是我对 Ember 的第一次尝试,所以我认为这意味着正在尝试 ajax 调用,所以我已经正确地路由了它,但 Razor 语法没有被正确翻译。
App = Ember.Application.create();
App.Store = DS.Store.extend({
adapter: 'DS.FixtureAdapter'
});
App.Router.map(function () {
this.resource('home', { path: "/Index" });
this.resource('agents', { path: "/Agents" });
this.resource('topics', function() {
this.resource('topic', {path: '/topic/:topic_id'})
});
this.resource('contacts', { path: "/Contacts" });
});
App.AgentsRoute = Ember.Route.extend({
model: function () {
return App.Store.all();
}
})
App.Store.reopenClass({
all: function () {
return $.ajax({
type: 'GET',
data: {id: '1'},
url: '@Url.Action("GetAgentData", "Agent")',
sucess: function (data) {
return data;
}
});
}
});
编辑
这里的每个请求是我layout.cshtml
页面中的车把代码。
<nav>
<script type="text/x-handlebars">
<div class="navbar">
<div class="navbar-inner">
<ul id="menu">
<li>{{#linkTo 'home'}}Home{{/linkTo}}</li>
<li>{{#linkTo 'agents'}}Agents{{/linkTo}}</li>
<li>{{#linkTo 'topics'}}About{{/linkTo}}</li>
<li>{{#linkTo 'contacts'}}Contact{{/linkTo}}</li>
</ul>
</div>
</div>
{{outlet}}
</script>
</nav>