我已经尝试过与表单向导一起使用的jquery passthrough,效果很好。现在,但是我遇到了一个问题。当formwizard中的步骤位于指令内部时,jquery传递似乎不起作用(显示所有步骤,而不仅仅是显示第一个步骤):
<form ui-jq="formwizard" ui-options="{formPluginEnabled: false, validationEnabled: false, focusFirstInput : false, disableUIStyles : true}" ng-submit="create(currentActivity, selectedCategories)" class="main">
<!--STEP 1 -->
<div activity-wizard-step title="Class Activity Info" description="Add all info about the activity" src="resources/angular/templates/activity_wizard/activity_info.html" step-number="1"></div>
<!-- STEP 2 -->
<div activity-wizard-step title="Add Class(es)" description="dd Instructor-Led-Training (ILT) Classes below. It can be a classroom ILT or a Webinar ILT and contain 1 or more sessions." src="resources/angular/templates/activity_wizard/add_class.html" step-number="2"></div>
</form>
这是我的activityWizardStep指令的外观:
directivesModule.directive('activityWizardStep', function () {
return {
replace: true,
restrict: 'AE',
scope: {
title: '@',
description: '@',
src: '@',
stepNumber: '@'
},
templateUrl: 'resources/angular/templates/activity_wizard/wizard_step.html'
}
});
和wizard_step.html:
<fieldset class="step" id="step{{stepNumber}}">
Some html
</fieldset>
就像我之前说的,所有步骤始终显示。我认为这是某种时序问题,例如当jquery passthrough尝试初始化formwizard时,指令或include不在dom中。这是怎么回事吗?如果是这样,我应该使用$ timeout吗?如果是这样,我应该放在哪里。也许有更好的方法。有什么想法吗?
最佳答案
答案是,不要将formwizard与angularJS :)一起使用。在进一步研究ng-switch之后,不仅完成了这项工作,还简化了很多工作。
<form ng-switch="navStep" class="main">
<!--STEP 1 -->
<div ng-switch-when="activity_info" activity-wizard-step title="Class Activity Info" description="Add all info about the activity" src="resources/angular/templates/activity_wizard/activity_info.html" step-number="1"></div>
<!-- STEP 2 -->
<div ng-switch-when="add_class" activity-wizard-step title="Add Class(es)" description="dd Instructor-Led-Training (ILT) Classes below. It can be a classroom ILT or a Webinar ILT and contain 1 or more sessions." src="resources/angular/templates/activity_wizard/add_class.html" step-number="2"></div>
</form>
然后在设置中的navStep中,单击“下一步”和“后退”按钮。
基本上,角度的令人敬畏使formwizard变得不必要。
关于angularjs - 我如何在带有 Angular ui jquery passthrough的指令内的步骤中获取Formwizard?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13289704/