- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我在我的 Angular 应用程序中使用了 intro.js:
http://code.mendhak.com/angular-intro.js/example/index.html
一切都很好,直到昨天......
我的问题:
当我解决(或跳过)教程时:
和
在我更改语言并重新启动教程后:
并且我看到了相同的提示(使用与之前相同的语言),但此文本已更改:
我做错了什么?
我这样调用 intro.js:
<a href="javascript:void(0)" ng-click="CallMe(1)">Start It!</a>
和选项:
$scope.IntroOptions = {
steps: [{
element: '.el1',
intro: $translate.instant('text1'),
position: 'bottom'
}, {
element: '.el2',
intro: $translate.instant('text2'),
position: 'bottom'
}],
showStepNumbers: false,
showProgress: false,
exitOnOverlayClick: false,
keyboardNavigation: false,
exitOnEsc: false,
prevLabel: '',
skipLabel: '<strong>skip</strong>',
doneLabel: '<strong>skip</strong>'
};
和 intro.js 的整个 angularjs 指令:
var ngIntroDirective = angular.module('angular-intro', []);
ngIntroDirective.directive('ngIntroOptions', ['$timeout', function ($timeout) {
return {
restrict: 'A',
scope: {
ngIntroMethod: "=",
ngIntroExitMethod: "=?",
ngIntroOptions: '=',
ngIntroOncomplete: '=',
ngIntroOnexit: '=',
ngIntroOnchange: '=',
ngIntroOnbeforechange: '=',
ngIntroOnafterchange: '=',
ngIntroAutostart: '&',
ngIntroAutorefresh: '='
},
link: function(scope, element, attrs) {
var intro;
scope.ngIntroMethod = function(step) {
var navigationWatch = scope.$on('$locationChangeStart', function(){
intro.exit();
});
if (typeof(step) === 'string') {
intro = introJs(step);
} else {
intro = introJs();
}
intro.setOptions(scope.ngIntroOptions);
if (scope.ngIntroAutorefresh) {
scope.$watch(function(){
intro.refresh();
});
}
if (scope.ngIntroOncomplete) {
intro.oncomplete(function() {
scope.ngIntroOncomplete.call(this, scope);
$timeout(function() {scope.$digest()});
navigationWatch();
});
}
if (scope.ngIntroOnexit) {
intro.onexit(function() {
scope.ngIntroOnexit.call(this, scope);
$timeout(function() {scope.$digest()});
navigationWatch();
});
}
if (scope.ngIntroOnchange) {
intro.onchange(function(targetElement){
scope.ngIntroOnchange.call(this, targetElement, scope);
$timeout(function() {scope.$digest()});
});
}
if (scope.ngIntroOnbeforechange) {
intro.onbeforechange(function(targetElement) {
scope.ngIntroOnbeforechange.call(this, targetElement, scope);
$timeout(function() {scope.$digest()});
});
}
if (scope.ngIntroOnafterchange) {
intro.onafterchange(function(targetElement){
scope.ngIntroOnafterchange.call(this, targetElement, scope);
$timeout(function() {scope.$digest()});
});
}
if (typeof(step) === 'number') {
intro.goToStep(step).start();
} else {
intro.start();
}
};
scope.ngIntroExitMethod = function (callback) {
intro.exit(); //TODO check callBack
};
if (scope.ngIntroAutostart()) {
$timeout(function() {
scope.ngIntroMethod();
});
}
}
};
}]);
我做错了什么?为什么我的提示没有改变他们的语言?
plunker 你可以在这里查看:
http://plnkr.co/edit/RsJ29a49soZ4q33gxQhk?p=preview
我对 angular-translate
做错了什么?
最佳答案
您正在使用同步 $translate.instant(
),这意味着您的 intro
属性在更改语言时永远不会自行更新。
当语言改变时,您需要手动重新加载 intro.js 配置(您的步骤)。为此,您可以使用像 $translateChangeSuccess
这样的 Angular 转换事件:
$rootScope.$on('$translateChangeSuccess', function() {
// updating steps config with $translate.instant() function
$scope.IntroOptions.steps = [{
element: '.el1',
intro: $translate.instant('text1'),
position: 'bottom'
}, [...]];
});
关于javascript - AngularJS:intro.js - 更改语言 - 指令相同语言的选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31020641/
我正在使用 introJS,我们的模板设计团队只能使用 data-intro 属性,但他们也使用选项卡和其他 javascript 来隐藏或显示某些元素。 当 introJS 运行时,对于那些隐藏元素
有没有办法显示 intro.js 的步骤的所有工具提示?一次游览而不是每次都经过? 最佳答案 您可以改用 Chardin.js。 关于intro.js - 一次显示所有 intro.js 导览步骤,我
我开始使用有用的 Intro.js库在我的项目中,但几个月后我更新了它,发现许可证在 2016 年 8 月 3 日发生了变化。 该库绝对是开源和免费软件,但同时如果我想将其用于商业用途似乎我need
我无法仅使用类 'case_event_intro' 启动元素介绍,但是当我执行 introJs(".case_event_intro").start(); 时没有任何反应,即使有具有该类和介绍 at
我需要在 video.mp4 开头添加 INTRO.mp4 并添加 watermark.png (右下角) 如何使用 ffmpeg 做到这一点,因为我迷路了? log file 最佳答案 复制并粘贴此
有没有一种方法可以自定义 intro js 中的项目符号,以便用户可以确定要跳到哪一步?我被问到项目符号是否可以有某种标识,以便用户在尝试访问特定组件的帮助时可以确定。 http://jsfiddle
我想要一个可以打开和关闭 intro.js 中的“提示”功能的按钮。 我有一个可以显示然后隐藏的工作版本,但该显示只能工作一次。我怎样才能让它反复工作?此功能适用于标准数据介绍,但不适用于数据提示。
我在我的网站上使用 intro.js 进行导览。我使用 bottom 作为默认的工具提示位置,但是有什么方法可以在游览开始后更改工具提示的位置吗? 这是我的代码: tourPluginObject=i
我正在尝试在 ionic 4 中实现 intro.js 但突出显示的文本不可见 enter image description here 这里是我如何在 Angular 7 中实现代码。 intro(
我已将 Intro.js 用于在我的网站中实现指南。虽然它工作得很好,但我遇到的问题是在为指南选择的 div 的左上角显示的小整数。 (附图) 此数字与应有的位置略有不同。请告诉我如何将它重新定位在中
我尝试在 meteor 元素上安装 intro.js: 我正在使用 bootstrap 3 和 meteor。我想知道元素的定位是否需要以不同的方式显示。 var intro = introJ
我正在使用 intro.js为我的网站创建一个小介绍。我希望导览从第 1(主页)-2(另一页)开始,然后返回到 1(主页)。 我已经成功地从第 1-2 页开始,但不确定如何让它返回到第 1 页。我对
我无法使用具有 class='test' 的特定元素启动 intro.js。我正在使用 Intro.js v0.9.0 。 根据文档,我按照以下方式编写了代码。 我试过这样开始intro
想要合并 intro.js 游览插件,但在 checkout 插件时,文档没有突出显示任何通过在游览部分外单击来防止游览关闭的方法。我宁愿有一个“结束游览”按钮,用户可以点击它来结束游览,而不是他们错
我在 my.bonify.de 有一个登机之旅.它提供与 introjs 类似的体验. 我们以非常丑陋的方式实现了这一点,使用了带有非常大的框阴影的 cutout div。我们想对此进行改进并使用像
我正在使用非常有趣的 javascript 库 intro.js . 但是,在我的应用程序中,突出显示的区域几乎变成了白色。 我猜这是一些 CSS 冲突,但我能做些什么来确定这个问题的原因呢? 最佳答
我们希望为网络应用程序提供一个通用的多页面导览以及特定于页面的导览。多页面正在运行,页面特定的也触发,但调用两个游览数据对象。有没有办法在同一页面上进行多个游览? function initTours
我最接近的是使用powershell Get-ChildItem given multiple -Filters Get-ChildItem -Include "Intro", "*.mp4" -Re
我已经实现了intro.js到我的网站。但我只想在第一次访问时开始旅行。可能是通过使用cookie..网站是用html而不是php制作的.. 最佳答案 JavaScript cookie 是一种解决方
仅供引用 - 如果有使用此插件的经验,这个问题可能更容易理解。 我正在使用intro.js在我的网页上建立一个交互式游览,并且在很大程度上它运行良好。在 options ,列出的API中,有disab
我是一名优秀的程序员,十分优秀!