gpt4 book ai didi

routes - 在angularjs中为多个部分 View 创建单个html View

转载 作者:行者123 更新时间:2023-12-02 09:45:34 26 4
gpt4 key购买 nike

我希望创建一个包含多个标签的 html 文件。这些应该作为单独的单独 View ,通常保存在部分文件夹中。然后我希望在路由 Controller 中指定它们。现在我正在做如下:应用程序.js

    angular.module('productapp', []).
config(['$routeProvider', function($routeProvider) {
$routeProvider.
when('/productapp', {templateUrl: 'partials/productList.html', controller: productsCtrl}).
when('/productapp/:productId', {templateUrl: 'partials/edit.html', controller: editCtrl}).
otherwise({redirectTo: '/productapp'});
}],
['$locationProvider', function($locationProvider) {
$locationProvider.html5Mode = true;
}]);

index.html

    <!DOCTYPE html>
<html ng-app = "productapp">
<head>
<title>Search form with AngualrJS</title>
<script src="../angular-1.0.1.min.js"></script>
<script src="http://code.jquery.com/jquery.min.js"></script>
<script src="js/products.js"></script>
<script src="js/app.js"></script>
</head>
<body>
<div ng-view></div>
</body>
</html>

在部分文件夹中:我有 2 个名为 edit.html 和 Productlist.html 的 html View

我不想创建这两个文件,而是希望将它们单独合并为一个文件,并通过路由调用它们(div)。我该怎么做?

最佳答案

您可以使用 ng-switch 有条件地渲染带有 include 的 ProductList,具体取决于路由参数。

在您的配置中尝试一下:

    angular.module('productapp', [])
.config(['$routeProvider', function($routeProvider) {
$routeProvider
.when('/productapp', {templateUrl: 'partials/productList.html', controller: productsCtrl})
.when('/productapp/:productId', {templateUrl: 'partials/productList.html', controller: productsCtrl})
.otherwise({redirectTo: '/productapp'});

在你的 Controller 中:

    function productsCtrl($scope, $routeParams) {
$scope.productId = $routeParams.productId;
}

在你的html中:

    <...productListHtml...>
<div ng-switch="productId != null">
<div ng-switch-when="true" ng-include="'partials/product.html'">
</div>

关于routes - 在angularjs中为多个部分 View 创建单个html View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12577378/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com