栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

为什么不调用我的ember.js路由模型?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

为什么不调用我的ember.js路由模型?

模型挂钩上的Ember文档:

“您可以实现一个将URL转换为该路由模型的钩子。”

这解释了为什么在页面刷新时仅调用模型挂钩。但这使很多人感到困惑:-)。因此,在这种情况下,这不是正确的选择。我认为您应该在这种情况下使用setupController挂钩。试试这个:

App.PlaceRoute = Ember.Route.extend({    setupController: function (controller, model) {        console.log('place route called');        var place;        $.getJSON('https://api.foursquare.com/v2/venues/' + model.get('place_id') + '?client_id=nnn&client_secret=nnn', function (data) {     var v = data.response.venue;     place = App.Place.create({ id: v.id, name: v.name, lat: v.location.lat, lng: v.location.lng }); });        controller.set("model", place);    }});

我额外支付2美分: 通过URL /直接浏览器导航输入应用程序后,为什么刚刚执行了模型挂钩?

Ember假设,如果使用,则不必调用模型挂钩

{{linkTo}}
。在场所模板中使用
{{#linkTo 'place' place}}{{place.name}} {{/linkTo}}
。您正在将地点对象传递到路线。 Ember假定这是执行模型挂钩时将得到的同一对象。
因此,从Embers View中无需调用模型挂钩。因此,即使您在使用时也要执行检索逻辑
linkTo
,请使用
setupController hook



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/406748.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号