动态添加向导步骤

时间:2014-08-22 12:41:21

标签: javascript angularjs

我正在使用(https://github.com/mgonto/angular-wizard/)中的Angular-Wizard。它的效果非常好。虽然现在,在我的下一个案例中,我需要动态添加步骤或向导。基本上我有一个从数据库中获取的JSON数据,基于它,我想用动态步骤创建向导。完成这些步骤后,我需要做一些数学运算,可能需要创建更多的步骤或其他向导,无论什么工作正常。

问题是:

  1. 这是我的第一个使用angularJs的项目。
  2. 我仍然没有得到如何编写这些代码的大部分内容。虽然我之前可以在几个位置使用它向导。
  3. 所以,我无法修改此向导或让它使用步骤。我尝试了一些事情,比如

    1. 尝试使用向导控制器的addtep函数,但没有得到它所期望的object类型。
    2. 我尝试通过Javascript字符串添加完整的向导HTML,然后我的Controller函数使用ng-bind-html函数将其绑定到页面上。虽然它给出了错误但因此无效。
    3. 这是我的自定义Controller类

      angular.module('ClientScoring', ['mgo-angular-wizard'])
      .controller('ScoringController', function ($scope, WizardHandler) {
         $scope.errormessage = "";
         $scope.isLoaded = false;
         $scope.Load = function () {
             if ($scope.isLoaded == false) {
                 $scope.isLoaded = true;
                 console.log(" Loading ...");
             }
         };
         $scope.getQuestion = function () {
             $scope.Load();
             console.log(" Loading done?");
             if ($scope.isLoaded == true) {
      
                 var HTML = 
                      '<wz-step title="1">' +
                      '<div class="question">Please choose one:</div>'+
                      '<div class="answer"></div>'+
                      '<input type="button" value="Skip &raquo;" wz-next />'+
                      '<input type="button" value="Submit" class="mainbutton" /></wz-step>';
                 WizardHandler.addStep(HTML);
                 return "";
             } else {
                 return "Fail to load questions";
             }
         };
      });
      

      确实这是我目前拥有的版本之一。任何建议表示赞赏。感谢。

1 个答案:

答案 0 :(得分:0)

这对我有用:Compiling dynamic HTML strings from database

基本上我创建了一个绑定到一个变量的指令,该变量动态编译我的向导代码然后附加到页面。