Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ember.js 余烬辛烷值如何转换自定义混合器_Ember.js_Ember Simple Auth - Fatal编程技术网

Ember.js 余烬辛烷值如何转换自定义混合器

Ember.js 余烬辛烷值如何转换自定义混合器,ember.js,ember-simple-auth,Ember.js,Ember Simple Auth,这个问题与:官方不推荐在余烬辛烷值中使用混合器有关 问题: 用什么替换Ember mixin是最好的选择?我如何实现它 背景: 我有自定义的mixin,它扩展了ember simple auth~v1.8.2提供的功能,在创建方法时,该功能不可用,请参见下文。我目前正在使用ember simple auth 3.0.0。在github的文档中,他们似乎在使用自己的Ember Octane混合器,如您所见: // my-engine/addon/routes/index.js import Rou

这个问题与:官方不推荐在余烬辛烷值中使用混合器有关

问题:

用什么替换Ember mixin是最好的选择?我如何实现它

背景:

我有自定义的mixin,它扩展了ember simple auth~v1.8.2提供的功能,在创建方法时,该功能不可用,请参见下文。我目前正在使用ember simple auth 3.0.0。在github的文档中,他们似乎在使用自己的Ember Octane混合器,如您所见:

// my-engine/addon/routes/index.js
import Route from '@ember/routing/route';
import AuthenticatedRouteMixin from 'ember-simple-auth/mixins/authenticated-route-mixin';

export default class IndexRoute extends Route.extend(AuthenticatedRouteMixin) {
  triggerAuthentication() {
    this.transitionToExternal('login');
  }
}
似乎我不是唯一一个有这个问题的人,因为Simple Auth也不知道他们想要走什么路线:

选项:

纯本机类,通过类继承共享功能。 可以在多个类中导入和使用的实用程序函数。 可注入多个类的服务,共享 它们之间的功能和状态。 我有以下身份验证混合:

应用程序路由:处理用户是否登录以及用户是否启用了双因素身份验证2FA,如果启用,则验证用户是否已通过2FA进行身份验证。这是因为SimpleAuth在开发混合时没有提供2FA 已验证路由:确保用户已登录。如果用户未登录,则将用户路由到登录页面。一旦他们登录,他们将被路由回他们最初试图访问的页面 未经验证的路由:防止登录用户转到某些登录用户不应转到的路由
首先,我想明确指出,在《灰烬》中,mixin并没有受到官方的反对,据我所知,甚至没有关于它的任何建议。正如前面所解释的,Glimmer组件不支持Mixin,因为它没有扩展EmberObject,但是预先存在的框架类Route、Controller等必须支持Mixin,否则这将是一个突破性的改变

没有替代mixin的最佳选项,因为它取决于API的使用情况。如果您问如何替换ember simple auth mixins,我的答案是,在插件本身提供替代API之前,您不能这样做。mixin和您发布的示例代码将在可预见的将来继续工作。
你可以看到。

的一个例子。首先,我想明确指出,在《灰烬》中,mixin并没有被正式弃用,据我所知,甚至没有关于它的任何定义。正如前面所解释的,Glimmer组件不支持Mixin,因为它没有扩展EmberObject,但是预先存在的框架类Route、Controller等必须支持Mixin,否则这将是一个突破性的改变

没有替代mixin的最佳选项,因为它取决于API的使用情况。如果您问如何替换ember simple auth mixins,我的答案是,在插件本身提供替代API之前,您不能这样做。mixin和您发布的示例代码将在可预见的将来继续工作。
你可以看到一个例子。

当我迁移到ember Octane时,我试图替换ember simple auth mixins,我发现这比重写我自己的身份验证服务要花很多时间,我在这个旋转中的例子,我在使用cookies,
如果您不使用cookies,您可以自定义适配器,使其在标题中包含令牌

当我迁移到ember Octane时,我试图替换ember simple auth mixins,我发现这比重写我自己的身份验证服务要花很多时间,我在这个旋转中的示例是,我正在使用cookies,
如果您不使用Cookie,您可以自定义适配器以在标题中包含令牌

我在Git上用ESA圈出,我在我的OP中引用的同一个问题已通过随后合并的新问题解决:


ESA现在已经更新了他们的库,以摆脱路由混合。

我在Git上与ESA进行了循环,我在OP中引用的同一个问题已经被一个新问题解决,该问题随后被合并:


ESA现在已经更新了他们的库,以摆脱路由混合。

如果核心团队在引入ESLINT之前先解决如何处理混合,说没有新的混合,那将是一件很好的事情,它向世界传达了我们还没有弄清楚我们想要做什么。来吧,伙计们。如果核心团队在引入ESLINT之前就知道了如何处理混合,那就太好了。ESLINT说没有新的混合,它向全世界传达了我们还没有弄清楚我们想要做什么。来吧,伙计们。