Javascript 将参数传递给状态导致元素不显示

Javascript 将参数传递给状态导致元素不显示,javascript,angularjs,forms,angular-ui-router,Javascript,Angularjs,Forms,Angular Ui Router,在我的AngularJS应用程序中,我有一个表单,用户需要在其中输入一个应用程序编号,如果成功,则在下面显示相应数据的内容。如果我将此数据作为参数传递到当前的状态,则只能通过范围访问此数据。我正在使用ui路由器进行路由 我读过这样的线程,它们建议我可以将数据传递到当前状态,而不刷新页面,但页面会不断刷新,内容不会显示。我也不确定是否正确使用了ng show和/或ng。我传递数据的功能如下: vm.findPatent = function(patentNo) { searchPatent

在我的AngularJS应用程序中,我有一个表单,用户需要在其中输入一个应用程序编号,如果成功,则在下面显示相应数据的内容。如果我将此数据作为参数传递到当前的
状态
,则只能通过
范围
访问此数据。我正在使用
ui路由器
进行路由

我读过这样的线程,它们建议我可以将数据传递到当前状态,而不刷新页面,但页面会不断刷新,内容不会显示。我也不确定是否正确使用了
ng show
和/或
ng。我传递数据的功能如下:

vm.findPatent = function(patentNo) {
    searchPatentService.findPatent(patentNo)
    .then(
        function(data) {
            $state.go('.', { patent: data }, {reload: false, notify: false, location: false})
            })
        },
        function(errResponse) {
            console.error('Error while finding patent');
        }
    );
}
以及
状态中的my参数

.state('search-patent', {
    url: '/search-patent',
    component: 'searchpatent',
    params: {
        navigation: 'patentnav',
        patent: null
    }
})
以及我的视图,该表单在表单提交中显示以下内容:

<form ng-submit="$ctrl.findPatent(searchPatent)" name="searchPatentForm">
    <fieldset>
        <div class="form-group row">
            <labelfor="searchPatent">EP No.</label>
            <div>
                <input type="text" name="searchPatent" ng-model="searchPatent" class="form-control" placeholder="Search" required>
            </div>
        <div>
            <button type="submit">Submit</button>
        </div>
    </div>
  </fieldset>
</form> 

<div class="row" ng-show="searchPatentForm.$submitted">
    <div class="col-md-12">
//ANOTHER FORM AND CONTENT WHICH IS DISPLAYED ON SUBMIT
    </div>
</div>

EP号。
提交
//提交时显示的另一个表单和内容
问题


如何在不刷新页面的情况下将数据传递到当前的
状态
?另外,是否有更好的解决方案来使用
ng show
?谢谢

,因为您希望在提交后仍留在页面上

$scope.result= null;
vm.findPatent = function(patentNo) {
    searchPatentService.findPatent(patentNo)
    .then(
        function(data) {
            $scope.result=data;
            })
        },
        function(errResponse) {
            console.error('Error while finding patent');
        }
    );
}
在您看来,如果希望重新创建div,则应使用
ng if
,否则请使用
ng show


{{result}}

有关详细示例,请参见

仍然不清楚您的目标是什么?若要刷新页面,请单击“”并显示一些数据??为什么不愿意使用$scope?请道歉。因此,在提交时,我需要将参数传递到当前状态,并在当前状态和页面上重新标记,以便在提交时显示(通过ng show)的容器中显示必要的对象属性。我遇到的问题是,参数被传递,但页面刷新,要显示的containe会闪烁一秒钟,然后消失。我会使用
vm
,在视图中使用
$ctrl
,但如果您有一个示例可以帮助我,这将是非常感激看到我的答案,这应该工作@PatrickAhhh辉煌,简单得多。虽然唯一的问题是在提交初始表单之前显示容器?如何在用户单击“提交”之前隐藏它?已排序。添加
&&searchPatentForm.$submitted
。感谢您的时间@AbdullahNp您只能使用“$scope.result.length”对不起是什么意思?
<div class="row" ng-if="result">
    <div class="col-md-12">
      {{result}}
    </div>
</div>