在 Angular 应用程序中多次初始化 fullpage.js

2023-12-19

我正在构建一个 Angular 应用程序,它在几个页面中使用 fullpage.js。目前,我正在初始化整页(例如$('#this-routes-fullpage').fullpage({ options... }))在模板中为使用它的每个路由使用自定义指令。在每个自定义指令的末尾,我调用

scope.$on('$routeChangeStart', function() {
    $.fn.fullpage.destroy('all');
}

当我从使用该插件的一个页面导航到另一个不使用该插件的页面,然后返回到第三个页面时,这正如我所期望的那样工作(插件被销毁并在下次遇到它时重新初始化)确实利用它。但是,如果省略该中间步骤,并且我直接从使用整页的一条路线导航到也使用它的第二条路线,则该插件无法正确初始化。我的意思是控件不起作用。

这让我觉得有一个更好的地方可以调用 destroy 函数来充分利用 Angular 事件。谁能帮我解决这个问题吗?谢谢!


Update:

现在您可以使用fullPage.js 的官方 Angular 组件 https://alvarotrigo.com/angular-fullpage/.


无论何时何地初始化它,只要销毁它即可。在初始化之前,例如:

//destroying
if (typeof $.fn.fullpage.destroy == 'function') { 
    $.fn.fullpage.destroy('all');
}

//initializing 
$('#fullpage').fullpage();

或者,您可以在检查 fullPage.js 添加到 html 元素的类/标志之前检查它是否已初始化(假设这在您的 ajax 调用中没有被修改)。

//destroying
if($('html').hasClass('fp-enabled')){
    $.fn.fullpage.destroy('all');
}

//initializing 
 $('#fullpage').fullpage();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Angular 应用程序中多次初始化 fullpage.js 的相关文章

随机推荐

  • 如何将PIL Image.image对象转换为base64字符串? [复制]

    这个问题在这里已经有答案了 我正在尝试以 90 度旋转的方式操作 Base64 编码的图像 经过此操作 我想将其转换回 Base64 字符串 但不幸的是还无法实现这一目标 这是我到目前为止所做的 image string StringIO
  • Android:从服务调用片段方法

    运行 Firebase Cloud 消息服务 我希望每次收到新消息时都会调用特定片段中的方法 public class FirebaseMsgService extends FirebaseMessagingService public F
  • 在sql中以管道分隔的列中搜索值

    我想搜索列中以管道分隔的值 见下文 Column1 1 1 2 23 2 6 6 12 我想在所有行中搜索 2 这样它将返回下面的行 Column1 1 2 23 2 谁能告诉我我们怎样才能实现这一目标 您可以使用like where co
  • 如何更改 Xamarin 表单中的密码屏蔽字符 - 条目

    我目前面临一个相当简单的问题 最终使我陷入了死胡同 我正在构建一个使用 Xamarin Forms 的应用程序 并希望在用户输入密码时将掩码字符从项目符号更改为星号 为了输入密码 我在内容页面的可移植库项目中使用条目控件 在 VS2017
  • C++ STL 中的确定性随机数流

    我想提供一个数字 然后收到一组随机数 但是 我希望这些数字是相同的 无论我在哪台计算机上运行它 假设我提供相同的种子 基本上我的问题是 在 C 中 如果我使用rand 但供应srand 使用用户定义的种子而不是当前时间 我是否能够在任何计算
  • 列表以按间隔返回特定字段的值

    我正在使用大量数据实施 Telerik Chart 图表 x 轴上的标签重叠 我已经克服了这个问题 但从长远来看它并不可靠 这些是列表具有的字段 FieldName DataType Date DATETIME DateString STR
  • 数据流中的近似重复检测

    我目前正在开发一个可以生成大量文本内容的流 API 正如预期的那样 API 给出了大量重复数据 而且我们也有过滤接近重复数据的业务需求 我对数据流中的重复检测做了一些研究 并阅读了 稳定布隆过滤器是用于数据流中重复检测的数据结构 具有误报率
  • makemigrations 未检测到模型中的更改

    我正在使用 django 1 9 6 我最近删除了我的迁移并运行migrate run syncdb and makemigrations my app 今天 我向我的一个模型添加了一个新字段 模型 py value models Posi
  • java - 在 spring mvc 中按名称获取 cookie 值

    我正在开发 java spring mvc 应用程序 我以这种方式在控制器的方法之一中设置了 cookie RequestMapping value news method RequestMethod GET public ModelAnd
  • 更新不可变对象

    我建立了以下课程 class Player val name String val onField Boolean val draft Int val perc Int val height Int val timePlayed Int o
  • iPhone iOS 如何合并Core Data NSManagedObjectContext?

    我正在尝试在后台下载一些 JSON 对象 并且正在执行大量多线程操作 操作完成后 我注意到此断言失败 NSAssert user managedObjectContext isEqual AppUser managedObjectConte
  • Kubernetes ingress 对于特定服务给出 404 错误

    我已经在 Azure 上使用 nginx 入口设置了一个 kubernetes 集群 导航到特定路径时出现 404 错误 我已经设置了一些示例应用程序 它们返回一个简单的回声 效果非常好 我的 ban api 应用程序总是返回 404 错误
  • 按字典顺序打印所有排列

    我想按字典顺序打印字符串的所有排列 我写了这段代码 void permute char a int i int n if i n 1 printf s n a else for int j i j lt n j swap a i a j p
  • 删除 C++ 中无用的文件、包含、全局变量和函数

    我修改了一个包含大量文件和函数的大型 C 项目 问题是 现在有大量无用的文件 包含文件 全局变量和函数 用手去除它们会很痛苦 是否有一种工具可以像编译器一样分析代码并删除所有未使用的内容 我更喜欢unix 的工具 另外 一种仅删除上面提到的
  • 构建函数返回 null 有问题的小部件是:StreamBuilder

    我是 Flutter 新手 我正在尝试完成一件简单的事情 我想使用 BLoC 模式和流创建注册功能 对于用户界面部分我有一个stepper https user images githubusercontent com 16286046 3
  • 以声明方式将宽度分配给可用屏幕宽度的一半

    是否可以将小部件宽度分配为可用屏幕宽度的一半 并使用声明性 xml 来实现 如果您的小部件是一个按钮
  • Selenium RemoteWebdriver 与 python - 性能日志记录?

    我正在尝试从远程 Webdriver 实例获取一些性能日志信息 我正在使用 Python Selenium 绑定 据我看来 这是我应该能够拿回的信息 认为它可能仅适用于 ChromeDriver 我目前正在使用 FireFox 但如果它获得
  • 连接速度非常慢(1 秒)

    我在 Windows 7 上运行 MySQL 5 6 64 位 我正在 32 位 Windows 7 上测试最近从 MySQL 5 0 升级的数据库 我还复制了 my ini 做了一些更改 我发现建立连接需要很长时间 大约 1 秒 作为示例
  • 需要 HTML5 输入 - 如何禁用

    JQuery Validate 拦截所需的属性 例如
  • 在 Angular 应用程序中多次初始化 fullpage.js

    我正在构建一个 Angular 应用程序 它在几个页面中使用 fullpage js 目前 我正在初始化整页 例如 this routes fullpage fullpage options 在模板中为使用它的每个路由使用自定义指令 在每个