Javascript AngularJs-页面刷新时重新加载控制器的状态提供程序
我有一个链接到不同页面和不同控制器的状态,如下所示:Javascript AngularJs-页面刷新时重新加载控制器的状态提供程序,javascript,asp.net,angularjs,angular-ui-router,Javascript,Asp.net,Angularjs,Angular Ui Router,我有一个链接到不同页面和不同控制器的状态,如下所示: .state('productEdit', { url: '/productEdit/:id', templateUrl: '/App/Main/views/products/editProduct.cshtml', controller: 'app.views.products.editProduct', cont
.state('productEdit', {
url: '/productEdit/:id',
templateUrl: '/App/Main/views/products/editProduct.cshtml',
controller: 'app.views.products.editProduct',
controllerAs: 'vm'
})
<div ng-repeat="product in vm.products" class="col-lg-4 col-md-4 col-sm-4 col-xs-4" >
<a ui-sref="productEdit({id: product.id})">
<div style="padding:5px">
<div class="card-product">
<h4>
{{product.name}}
</h4>
<p>
{{product.description}}
</p>
</div>
</div>
</a>
</div>
问题是,当我转到此页面或刷新链接页面时,控制器不会再次初始化,因此即使在我清理缓存时,变量也会“卡住”
我使用的ui sref如下所示:
.state('productEdit', {
url: '/productEdit/:id',
templateUrl: '/App/Main/views/products/editProduct.cshtml',
controller: 'app.views.products.editProduct',
controllerAs: 'vm'
})
<div ng-repeat="product in vm.products" class="col-lg-4 col-md-4 col-sm-4 col-xs-4" >
<a ui-sref="productEdit({id: product.id})">
<div style="padding:5px">
<div class="card-product">
<h4>
{{product.name}}
</h4>
<p>
{{product.description}}
</p>
</div>
</div>
</a>
</div>
{{product.name}
{{product.description}}
有人知道我如何在每次到达页面时重新加载控制器吗?我假设您使用ui路由器,根据文档,您可以将可选配置传递给ui sref,在您的情况下,应该类似于
<a ui-sref="productEdit({id: product.id})" ui-sref-opts="{reload: true}">
<div style="padding:5px">
<div class="card-product">
<h4>
{{product.name}}
</h4>
<p>
{{product.description}}
</p>
</div>
</div>
</a>
{{product.name}
{{product.description}}
我尝试了这个,还尝试了重新加载:true选项。所有这些都不起作用。即使尝试了否决票也被接受此解决方案在AngularJS V.1.2.2中有效:$state.transitiono($state.current,$stateParams,{reload:true,inherit:false,notify:true})?很明显,这只有从控制员那里才有可能。我试过了,但仍然没有成功。像这样:vm.lk=function(){$state.transitiono('productEdit',{'id':1},{reload:true,inherit:false,notify:true});}并使用ng clickTry调用此函数添加状态定义缓存:false我想我解决了这个问题,控制器无法加载依赖项,但由于某种原因,没有显示错误。谢谢你的帮助!