0

我正在尝试编写我的第一个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>
4

0 回答 0