【问题标题】:Getting null array after redirect using $location.path in angularJs在angularJs中使用$location.path重定向后获取空数组
【发布时间】:2015-07-16 10:26:56
【问题描述】:

这是我调用 getResult 方法的控制器代码:-

$scope.selectedAnswer = [];
$scope.correctAnswer = [];

$scope.result = function () {
    $(".optionlist").find("li").each(function () {
        if ($(this).attr('id') == 'true') {
            var label = $(this).parent('ul').attr('que-label');
            var value = $(this).find('input[type=checkbox]').attr('value');

            $scope.correctAnswer.push({ "label": label }, { "Option": value   });
            console.log(label);

        }
    });

$scope.getResult = function () {

$location.path("/reviewans");
}

这是我的选项页块:-

<div class="list-group list_top" data-toggle="items">

<ul class="left1 optionlist" data-value="{{$index+1}}" que-label="{{Questions.QuestionLabel}}">

<li class="list group-items alert alert-danger alert_template" style="display:none">
<a class="close" data-dismiss="alert" aria-label="close">&times;</a><span class="spantext"></span>
</li>

<li ng-repeat="Options in answerlist" ng-if="Questions.QuestionID == Options.QuestionID" id="{{Options.IsCorrectOption}}" ng-show="Options.QuestionID == Questions.QuestionID" ng-click="!IsAutoslide||AutoSlide(Options.QuestionID)">

<a href="#" class="list-group-item"><input type="checkbox" value="{{Options.QuestionOptionID}}" style="display:none">{{Options.OptionText}}</a>
</li>


</ul>

</div>
<div><a class="btn btn-default finish" style="display:none" ng-click="getResult()">Finish</a></div>

这是我的评论页面块:-

<div class="tab-pane fade" id="messages" ng-init="result()">
                        <div class="all_ques_back col-md-12" ng-repeat="ans in correctAnswer">
                            <div class="col-xs-1 col-md-1"><i class="fa fa-times-circle fa-2x col_padd wrong_ans_font"></i></div>
                            <div class="col-xs-9 col-md-10 col_padd"><div class="all_ques" ng-repeat="(key, val) in ans">hello your ans {{val}}</div></div>
                            <div class="col-xs-1 col-md-1 col_padd"><i class="fa fa-angle-right right_arrow"></i></div>
                        </div><!-----end------>

                    </div>

问题是我在使用 location.path 重定向后在正确答案中得到空结果

【问题讨论】:

  • 你能用上面的代码创建 plunker 吗?
  • 好吧,亲爱的,我没有太多时间来创建演示,因为它是一个非常大的项目,所以描述问题需要时间,我的问题类似于:-stackoverflow.com/questions/13882077/…检查此链接的问题。 ..提前谢谢..
  • 我想做类似的事情: 1. 设置 $scope.val = 2. 单击一个链接并被路由到一个新模板(可能使用相同的控制器)。 3. $scope.val 的值仍应与最后一页上的值相同。

标签: javascript jquery angularjs


【解决方案1】:

我看不到您在任何地方填充 '$scope.correctAnswer'?也许您想改用 '$scope.selectedAnswer'

【讨论】:

  • 那么,现在有什么问题呢?你能在 plunker 中重现问题吗?
  • check plnkr.co/edit/PmxLBb9tJ8q7OdGZwfzd?p=preview 我在这里创建了一个简单的演示,我从数组中获取结果,但在我当前的问题中它是静态的,我想在评论页面上填充动态数组,但我我得到空结果.. 明白这一点?
  • 我不确定,但我认为重定向后数据会丢失。您可以使用 $localStorage/$sessionStorage 在浏览器中存储数据
  • 是的,但你能给我任何其他类型的解决方案而不是会话,因为它可能会对实时项目造成危险..
  • 我建议使用服务在您的控制器之间传递数据,也许最好使用不同的控制器作为您的第二个视图。
猜你喜欢
  • 1970-01-01
  • 2015-06-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-01
相关资源
最近更新 更多