Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 重新渲染相同的角度模板 当我加载index.html页面时,默认情况下UI路由器加载home.html 单击主页数据的名称后,我将list.html页面显示为子模板 根据所选的主数据,我正在从服务器获取list.html的数据,但这里的示例目的我不是从服务器获取数据,我刚刚展示了代码的框架,所以目前我只是从静态数组获取数据_Javascript_Angularjs - Fatal编程技术网

Javascript 重新渲染相同的角度模板 当我加载index.html页面时,默认情况下UI路由器加载home.html 单击主页数据的名称后,我将list.html页面显示为子模板 根据所选的主数据,我正在从服务器获取list.html的数据,但这里的示例目的我不是从服务器获取数据,我刚刚展示了代码的框架,所以目前我只是从静态数组获取数据

Javascript 重新渲染相同的角度模板 当我加载index.html页面时,默认情况下UI路由器加载home.html 单击主页数据的名称后,我将list.html页面显示为子模板 根据所选的主数据,我正在从服务器获取list.html的数据,但这里的示例目的我不是从服务器获取数据,我刚刚展示了代码的框架,所以目前我只是从静态数组获取数据,javascript,angularjs,Javascript,Angularjs,现在,当您单击任何家庭数据的名称列时,我正在加载第二个模板(list.html)作为子模板,并且在控制台中您将得到“加载的listController”消息,但现在当您再次单击主页数据的“名称”列时,我的第二个模板将不会重新呈现,出于测试目的,您可以检查控制台,您将不会再次收到控制台消息 根据我的场景,当用户单击主页数据的名称列时,我将所选名称作为参数传递给我的服务器,并根据该场景在第二个模板(list.html)上显示数据。如果我再次单击主页的“名称”列,那么我的第二个模板不会再次刷新/重新加

现在,当您单击任何家庭数据的名称列时,我正在加载第二个模板(list.html)作为子模板,并且在控制台中您将得到“加载的listController”消息,但现在当您再次单击主页数据的“名称”列时,我的第二个模板将不会重新呈现,出于测试目的,您可以检查控制台,您将不会再次收到控制台消息

根据我的场景,当用户单击主页数据的名称列时,我将所选名称作为参数传递给我的服务器,并根据该场景在第二个模板(list.html)上显示数据。如果我再次单击主页的“名称”列,那么我的第二个模板不会再次刷新/重新加载新数据,那么这个场景第一次运行得非常好

Index.html

<!DOCTYPE html>
<html>
<head>
    <!-- JS (load angular, ui-router, and our custom js file) -->
    <script src="http://code.angularjs.org/1.2.13/angular.js"></script>
    <script src="angular-ui-router.min.js"></script>
    <script src="app.js"></script>
</head>

<!-- apply our angular app to our site -->
<body ng-app="demoApp">
<!-- MAIN CONTENT -->
<!-- THIS IS WHERE WE WILL INJECT OUR CONTENT ============================== -->
<div class="container">
    <div ui-view></div>
</div>
</body>
</html>

插入
$state
而不是
$location
,并使用
$state.go

$scope.clickOfButton = function() {
  $state.go('home.list', { list: 'someName' }, { reload: true });
}
其中
someName
是您希望在URL中显示的内容:

/#/home/someName
要检索列表参数的值,可以插入
$stateParams
,并按如下方式访问它:

demoApp.controller('listController', function($scope, demoFactory, $stateParams) {

  console.log($stateParams.list);

单击列时,您当前如何决定从服务器检索哪些数据?您是在调用
$location.path('home/list')
之前将其传递给工厂,还是在使用
$stateParams
?在调用$location.path('home/list')之前,我在服务中存储所选列值,因此当location.path('home/list')时将调用然后我的第二个模板控制器将加载,然后我将从服务获取存储参数,然后我将参数传递给工厂方法.Thanx以获得回复,但如何使用$location获取url参数值。在我前面的例子中,我在url中提供了参数名,但根据您建议的方式,我们不提供参数名,所以如何从url中获取参数值?当我问您时,您只在调用$location.path之前写了这个问题,您将所选列存储在服务中。您没有说需要将参数与URL一起传递。您需要更具体地说明您当前如何处理它,以便我提供帮助。是的,很抱歉,目前根据建议的方法,我使用$state.go('home.list',{list:'someName'},{reload:true});现在,当“home.list”将加载到home.list控制器中时,我想获取url的参数。在上述情况下,我必须访问“someName”,然后我们如何才能做到这一点?更新了我的答案,说明如何检索
列表控制器中的值。
。根据上述方法,如果我使用以下代码行进行路由:$state.go('home.list',{list:'someName'},{reload:true});当我要加载列表模板时,我的主模板也在重新加载。如何避免重新加载主模板?注意:我想在主模板下加载列表模板。
$scope.clickOfButton = function() {
  $state.go('home.list', { list: 'someName' }, { reload: true });
}
/#/home/someName
demoApp.controller('listController', function($scope, demoFactory, $stateParams) {

  console.log($stateParams.list);