javascript - passing parameters to state is causing element to not show -


in angularjs app, have form in user needs enter application number, , if successful, display content below displays appropriate data. data can access through scope if pass parameter current state. using ui-router routing.

i have read threads such reloading current state - refresh data has advised me can pass data current state , not refresh page keeps refreshing , content doesn't show. not sure whether using ng-show and/or ng-if correctly. function pass data follows:

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');         }     ); } 

and parameters within state:

.state('search-patent', {     url: '/search-patent',     component: 'searchpatent',     params: {         navigation: 'patentnav',         patent: null     } }) 

and view form displays content below on form submit:

<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 , content displayed on submit     </div> </div> 

question

how pass data current state without refreshing page? also, there better solution using ng-show? thanks

since want remain on page after have submitted .

$scope.result= null; vm.findpatent = function(patentno) {     searchpatentservice.findpatent(patentno)     .then(         function(data) {             $scope.result=data;             })         },         function(errresponse) {             console.error('error while finding patent');         }     ); } 

in view should use ng-if if want div recreated else use ng-show see details here

<div class="row" ng-if="result">     <div class="col-md-12">       {{result}}     </div> </div> 

for detailed example see here


Comments

Popular posts from this blog

angular - Ionic slides - dynamically add slides before and after -

minify - Minimizing css files -

Add a dynamic header in angular 2 http provider -