首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >硬编码ui-sref工作,重渲染ui-sref不工作

硬编码ui-sref工作,重渲染ui-sref不工作
EN

Stack Overflow用户
提问于 2014-05-14 16:11:46
回答 1查看 302关注 0票数 0

这是可行的:

代码语言:javascript
复制
<button type="button" class="btn btn-primary" ui-sref="app.project.edit({projectId: 1})">Back</button>

此操作不起作用(单击后不发生任何反应):

代码语言:javascript
复制
<button type="button" class="btn btn-primary" ui-sref="{{backstate.state}}">Back</button>

当我查看这两种情况下呈现的网页的源代码时,我得到:

代码语言:javascript
复制
<button class="btn btn-primary" ui-sref="app.project.edit({projectId: 1})" type="button">Back</button>

我做错了什么?

编辑:也许这会有帮助:

AppControler.js

代码语言:javascript
复制
angular.module("app").controller("AppController", function($scope, $state, $rootScope, SessionService, NavigationService) {
    "use strict";
    $scope.goBack = function () {
        $state.go(NavigationService.getBackstate().state);
     };
});

NavigationService.js

代码语言:javascript
复制
angular.module("app").service("NavigationService", function() {
    "use strict";

    var that = this;

    this.backstate = {
            state : "default state"
    };

    return {
        getBackstate : function() {
            return that.backstate;
        },
        setBackstate : function(backstate) {
            that.backstate.state = backstate.state;
        }
    };
}); 

ScenarioListController.js

代码语言:javascript
复制
angular.module("app").controller("ScenarioListController", function($scope, $modal, $state, ngTableParams, NavigationService, project, scenarios) {
    "use strict";

    // [...]
    NavigationService.setBackstate({ state : "app.project.edit({projectId: " + project.id + "})"});
    // [...]
});
EN

回答 1

Stack Overflow用户

发布于 2014-05-14 16:49:43

这可能是一个绑定问题。

如果指令ui-sref在转换为其实际值之前绑定到字符串{{backstate.state}},它将尝试解析状态{{backstate.state}},而不是

代码语言:javascript
复制
app.project.edit({projectId: 1})

您可以尝试使用:

代码语言:javascript
复制
<button type="button" class="btn btn-primary" ng-click="goBack()">Back</button>

function myController($scope, $state) {
   $scope.goBack = function () {
      $state.go($scope.backstate.state);
   }
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23649056

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档