Angular-UI-Router:ui-sref不使用参数构建href

施莱希曼

我有一个HTML页面,一旦加载到用户浏览器中,“列表”状态便被激活,“列表”部分由Angular提取并填充了服务器列表。

每个服务器都有一个“详细信息”链接,用于指定该服务器的“详细信息”状态。

<td><a ui-sref="details({ serverName: '{{server.name}}' })">Details</a></td>

渲染后,“ ui-sref”会根据路由及其可选参数生成预期的“ href” URL。

<a ui-sref="details({ serverName: 'SLCMedia' })" href="#/details/SLCMedia">Details</a>

单击该按钮后,它将按预期工作,并且“详细信息”部分被拉出,并在分配给该状态的控制器中拉出具有指定名称的服务器。

我遇到的问题是,一旦加载了“详细信息”部分,它也具有“ ui-sref”到“编辑”状态的事实。

   <a ui-sref="edit({ serverName: '{{server.name}}' })">
        <button class="btn btn-lg btn-labeled btn-primary">
            <span class="btn-label icon fa fa-edit"></span>
            Edit
        </button>
    </a>

但是,当加载此部分时,“ ui-sref”不会生成正确的“ href” URL。

   <a ui-sref="edit({ serverName: 'SLCMedia' })" href="#/edit/">
        <button class="btn btn-lg btn-labeled btn-primary">
            <span class="btn-label icon fa fa-edit"></span>
            Edit
        </button>
    </a>

如您所见,“ href” URL是“#/ edit /”,而不是“#/ edit / SLCMedia”。我一定缺少一些简单的东西。国家的变化是否与此有关?

这是页面的所有已定义“状态”。

// Create the Angular App to rule the Server Management Page
var serverApp = angular.module('serverApp', [
    'ui.router',
    'serverControllers',
    'utilitiesService'
]);

serverApp.config(function ($stateProvider, $urlRouterProvider) {
    // For any unmatched url, redirect to /state1
    $urlRouterProvider.otherwise("/list");

    // Now set up the states
    $stateProvider
        .state('list', {
            url: '/list',
            templateUrl: '/views/pages/servers/list.html',
            controller: 'serverListCtrl'
        })
        .state('details', {
            url: '/details/:serverName',
            templateUrl: '/views/pages/servers/details.html',
            controller: 'serverDetailsCtrl'
        })
        .state('create', {
            url: '/create',
            templateUrl: '/views/pages/servers/create.html'
        })
        .state('edit', {
            url: '/edit/:serverName',
            templateUrl: '/views/pages/servers/edit.html',
            controller: 'serverEditCtrl'
        })
});

这是我的控制器

var serverControllers = angular.module('serverControllers', ['utilitiesService']);

serverControllers.controller('serverListCtrl', function ($scope, $http) {
    $http.get('/servers/getList').success(function (data) {
        $scope.serverList = data;
    });
});

serverControllers.controller('serverDetailsCtrl', function ($scope, $stateParams, $http) {
    var serverName = $stateParams.serverName;

    $http.get('/servers/getServerByName/' + serverName).success(function (data) {
        $scope.server = data;
    });
});

serverControllers.controller('serverEditCtrl', function ($scope, $stateParams, $http, $state, showAlertMessage) {
    var serverName = $stateParams.serverName;

    $http.get('/servers/getServerByName/' + serverName).success(function (data) {
        $scope.server = data;
    });

    $scope.server.submitForm = function (item, event) {
        console.log("--> Submitting Server Update");

        //TIMDO: Verify all required fields have been included

        var responsePromise = $http.post("/servers/postEdit", $scope.server, {});
        responsePromise.success(function(dataFromServer, status, headers, config) {
            showAlertMessage({
                type: 'success',
                title: 'Success',
                message: 'Server information updated'
            });

            $state.go('clear');
        });
        responsePromise.error(function(data, status, headers, config) {
            showAlertMessage({
                type: 'error',
                title: 'Success',
                message: 'Server information updated'
            });
        });
    }
});
杰森·斯威特

嗯,我可能误解了您的问题,但我发现您的代码外观和我的外观之间至少有一个明显的区别。

我的angular-ui-router链接如下所示:

<a ui-sref="reps-show({ id: rep.id })">{{rep.name}}</a>

区别在于周围没有括号rep.id所以我想知道是否要改变这个

<td><a ui-sref="details({ serverName: '{{server.name}}' })">Details</a></td>

对此

<td><a ui-sref="details({ serverName: server.name })">Details</a></td>

可能会对您有所帮助。

可能不是,但这是我想到的第一件事。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用 ui-router-ng2 在 Angular 2 中不使用 ui-sref 更改状态。(Angular2 & UI-Router-ng2)

来自分类Dev

对Angular UI Router使用多个regexp参数

来自分类Dev

Angular-ui-router:ui-sref-active与子活动

来自分类Dev

Angular-ui-router:ui-sref-active与子活动

来自分类Dev

Angular-ui-router和href ='#'

来自分类Dev

Angular UI Router-强制URL参数?

来自分类Dev

Angular UI-Router解析可选参数

来自分类Dev

Angular UI Router-默认参数

来自分类Dev

从angular-ui-router中的ui-sref更改当前状态下的url参数

来自分类Dev

使用angular-ui-router保留UI的动作/状态

来自分类Dev

Angular-UI-Router:我应该避免使用 ui-router 使用 href 吗?

来自分类Dev

Angular-UI-Router不使用Django渲染模板

来自分类Dev

使用grunt构建后,Angular UI Router不使用模板缓存

来自分类Dev

使用Angular的UI-Router的URL中的参数,以.otherwise开头

来自分类Dev

Angular UI Router:专用的UI视图

来自分类Dev

Angular ui-router的ui-sref-active的父节点不起作用

来自分类Dev

Angular UI-Router ui-sref忽略一些元素

来自分类Dev

Angular UI-Router $ urlRouterProvider。当我单击<a ui-sref="...">时不起作用

来自分类Dev

Angular UI-Router带空ui-sref并加载一次

来自分类Dev

Angular ui-router ui-sref-opts更新地址栏

来自分类Dev

AngularJS:ui-router href重写为ui-sref

来自分类Dev

Angular UI Router单独的文件

来自分类Dev

angular-ui-router错了

来自分类Dev

Angular UI Router重置$ scope

来自分类Dev

Angular UI Router具有多个可选参数

来自分类Dev

Angular ui-router根据路线参数渲染不同的组件

来自分类Dev

根url上的Angular UI Router 0.2.18参数

来自分类Dev

在angular-ui-router中解析Oauth 2.0返回参数

来自分类Dev

angular ui router - 只获取查询字符串参数

Related 相关文章

  1. 1

    使用 ui-router-ng2 在 Angular 2 中不使用 ui-sref 更改状态。(Angular2 & UI-Router-ng2)

  2. 2

    对Angular UI Router使用多个regexp参数

  3. 3

    Angular-ui-router:ui-sref-active与子活动

  4. 4

    Angular-ui-router:ui-sref-active与子活动

  5. 5

    Angular-ui-router和href ='#'

  6. 6

    Angular UI Router-强制URL参数?

  7. 7

    Angular UI-Router解析可选参数

  8. 8

    Angular UI Router-默认参数

  9. 9

    从angular-ui-router中的ui-sref更改当前状态下的url参数

  10. 10

    使用angular-ui-router保留UI的动作/状态

  11. 11

    Angular-UI-Router:我应该避免使用 ui-router 使用 href 吗?

  12. 12

    Angular-UI-Router不使用Django渲染模板

  13. 13

    使用grunt构建后,Angular UI Router不使用模板缓存

  14. 14

    使用Angular的UI-Router的URL中的参数,以.otherwise开头

  15. 15

    Angular UI Router:专用的UI视图

  16. 16

    Angular ui-router的ui-sref-active的父节点不起作用

  17. 17

    Angular UI-Router ui-sref忽略一些元素

  18. 18

    Angular UI-Router $ urlRouterProvider。当我单击<a ui-sref="...">时不起作用

  19. 19

    Angular UI-Router带空ui-sref并加载一次

  20. 20

    Angular ui-router ui-sref-opts更新地址栏

  21. 21

    AngularJS:ui-router href重写为ui-sref

  22. 22

    Angular UI Router单独的文件

  23. 23

    angular-ui-router错了

  24. 24

    Angular UI Router重置$ scope

  25. 25

    Angular UI Router具有多个可选参数

  26. 26

    Angular ui-router根据路线参数渲染不同的组件

  27. 27

    根url上的Angular UI Router 0.2.18参数

  28. 28

    在angular-ui-router中解析Oauth 2.0返回参数

  29. 29

    angular ui router - 只获取查询字符串参数

热门标签

归档