Javascript 如果在“新建”选项卡中打开,则EmberJS无法显示所有内容

Javascript 如果在“新建”选项卡中打开,则EmberJS无法显示所有内容,javascript,jquery,ember.js,Javascript,Jquery,Ember.js,如果我运行应用程序并单击图像,它将打开详细信息页面并正确显示所有内容。但是,当我复制链接并将其粘贴到新选项卡上,或者右键单击图像并在新选项卡中打开时,我看不到整个内容。你认为问题是什么?这是我的玩物。谢谢 您没有实现细节(pic)路由的模型挂钩。因此,当您使用{{link to}}助手进行转换时,它会起作用,因为在那里您可以向下传递模型,但是如果直接进入细节路由,它就不起作用。您没有实现细节(pic)路由的模型挂钩。因此,当您使用{{link to}}助手进行转换时,它会起作用,因为在那里您可以

如果我运行应用程序并单击图像,它将打开详细信息页面并正确显示所有内容。但是,当我复制链接并将其粘贴到新选项卡上,或者右键单击图像并在新选项卡中打开时,我看不到整个内容。你认为问题是什么?这是我的玩物。谢谢


您没有实现细节(
pic
)路由的模型挂钩。因此,当您使用
{{link to}}
助手进行转换时,它会起作用,因为在那里您可以向下传递模型,但是如果直接进入细节路由,它就不起作用。

您没有实现细节(
pic
)路由的模型挂钩。因此,当您使用
{{link to}}
助手进行转换时,它会起作用,因为在那里您可以向下传递模型,但是如果直接深入输入细节路径,它就不起作用。

基本上,概念是当我们通过传递对象id使用link to helper时调用模型挂钩,就像我使用下面的link to helper一样。若我们传递模型的完整对象,那个么模型钩子就会被忽略,就像你们传递的那个样。 当我们直接在浏览器中输入url时,模型钩子也被调用。所以问题是,当你们在浏览器中输入url时,你们的模型钩子并没有被调用,在模型钩子中你们并没有返回pic的模型。所以你们面临着这个问题。解决办法是 将中组件模板中的行
{{{#链接到“pic”pic}
更改为该行

{{#link-to "pic" pic.id}} 
现在,模型挂钩将在每次转换时调用

并以这种方式定义pic路线中的模型挂钩

 model(params) {
       this.store.findRecord('image', params.pic_id)
    }

然后像这样改变你的路由器。
this.route('pic',{path:'/news/:pic_id'})

基本上,当我们通过传递对象的id来使用链接到助手时,模型钩子被调用,就像我使用下面的链接到助手一样。若我们传递模型的完整对象,那个么模型钩子就会被忽略,就像你们传递的那个样。 当我们直接在浏览器中输入url时,模型钩子也被调用。所以问题是,当你们在浏览器中输入url时,你们的模型钩子并没有被调用,在模型钩子中你们并没有返回pic的模型。所以你们面临着这个问题。解决办法是 将中组件模板中的行
{{{#链接到“pic”pic}
更改为该行

{{#link-to "pic" pic.id}} 
现在,模型挂钩将在每次转换时调用

并以这种方式定义pic路线中的模型挂钩

 model(params) {
       this.store.findRecord('image', params.pic_id)
    }

并更改您的路由器,如代码>此。路由(“PIC”,{PATH:‘/News:PICHID’})< /代码>

< P>您应考虑此需求的En烬数据,如力士和AtETEK所说的。
暂时我用服务解决了你的问题。。请看.< /P> < P>你应该考虑Enter数据,比如力士和AtEk。
暂时我用服务解决了你的问题。。请查看。

pic路由从index.js获取数据。我应该如何实现它?@hbc这是一种反模式。要么使用服务,从
utils
静态导入,要么最好使用
ember data
这样的数据框架来处理您的数据。您好@Lux,我正试图使用ember data从JSON api获取数据,但新的选项卡仍然不起作用。我创建了一个名为application.js的适配器,并从'ember data/adapters/jsonapi'编写了
import JSONAPIAdapter;导出默认的JSONAPIAdapter.extend({model(params){return$.getJSON('JSONAPIurl',params.NewsUrl);}})仍然没有任何更改。另外,我的index.js是
从“Ember”导入Ember;导出默认的Ember.Route.extend({model(){return Ember.$.getJSON('JSON api URL');}})
我还应该做些什么才能正确使用余烬数据?你应该使用
余烬数据
,所以不要使用
ember.$.getJSON
,而是
this.store.find
。我的模型叫做新闻列表,我写了
返回这个.store.findAll('news-list')
到pic.js路径并
返回Ember.$.getJSON('http://api.donanimhaber.com/api/v1/site/NewsSite?pageIndex=0&pageSize=15');
到index.js,我还将我的模型更改为
导出默认DS.Store.extend({
并将
DS.
放在所有attr()之前)。但现在,当我单击图片时,我看到的只是一个空白页。如果我将this.store.findAll写入chrome的devTool索引,则会显示:
vendor.js:42201错误:找不到用于http://api.donanimhaber.com/api/v1/site/NewsSite?pageIndex=0&pageSize=15“
pic route从index.js获取数据。我应该如何实现它?@hbc这是一种反模式n、 要么使用服务,从
utils
静态导入,要么最好使用像
ember data
这样的数据框架来处理您的数据。再次您好@Lux,我正试图使用ember data从JSON api获取数据,但新的选项卡仍然不起作用。我创建了一个名为application.js的适配器,并从“emb”编写了
import JSONAPIAdapterer data/adapters/json api';导出默认的JSONAPIAdapter.extend({model(params){return$.getJSON('json api URL',params.NewsUrl);}}}});
仍然没有任何更改。另外,我的index.js是
从'Ember'导入Ember';导出默认的Ember.Route.extend({model(){return Ember.$.getJSON('json api URL');});
要正确使用余烬数据,我还应该做些什么?你应该使用
余烬数据
,所以不要使用
ember.$.getJSON
但是
这个.store.find
。我的模型叫新闻列表,我写了
返回这个.store.findAll('news-list');
到pic.js路径并
返回余烬.$.getJSON>('http://api.donanimhaber.com/api/v1/site/NewsSite?pageIndex=0&pageSize=15“);
到index.js,我还将我的模型更改为
导出默认的DS.Store.extend({
并将
DS.
放在所有attr()之前)。但现在,当我单击图片时,我看到的只是一个空白页。如果我将this.store.findAll写入chrome的devTool索引,则会显示:
vendor.js:42201错误:找不到用于http://api.donanimhaber.com/api/v1/site/NewsSite?pageIndex=0&pageSize=15“
它不起作用..当我照你说的做时,链接不起作用。请确保当你输入di时浏览器中的rect url比pic路由中的model hook调用的多,它返回model或obj