当锚标记是从属性文件加载UI的SREF不能正常工作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了当锚标记是从属性文件加载UI的SREF不能正常工作相关的知识,希望对你有一定的参考价值。

条目属性文件

MYKEY= <a ui-sref="mystate.state">Go to my page using state</a> and <a href="/#/mypage/page">Go to my page using link/a>

我已经赚得了这个关键的属性文件和应用$sce.trustAshtml()它,并在HTML中使用。我可以通过链接查看链接,进入我的网页,但使用状态不正常,因为它有ui-sref标签进入到我的网页。可有人请说明原因,它不工作,并解决这一点。

注:ui-sref在我的项目中正常工作时,它在HTML中直接使用。

答案

这可能是因为内容没有被编译,因此ui-sref不工作。

我发现下面的指令,它编译并插入HTML代码,请查看是否能解决您的问题!

该指令从这个SO Answer

var app = angular.module('myApp', []);

app.controller('MyController', function MyController($scope) {
  $scope.test = function() {
    console.log("it works!");
  }
  $scope.html = '<a ui-sref="mystate.state">Go to my page using state</a> and <a href="/#/mypage/page">Go to my page using link</a><button ng-click="test()">click</button>{{asdf}}';
});

app.directive('compile', ['$compile', function ($compile) {
    return function(scope, element, attrs) {
        scope.$watch(
            function(scope) {
                // watch the 'compile' expression for changes
                return scope.$eval(attrs.compile);
            },
            function(value) {
                // when the 'compile' expression changes
                // assign it into the current DOM
                element.html(value);
                // compile the new DOM and link it to the current
                // scope.
                // NOTE: we only compile .childNodes so that
                // we don't get into infinite loop compiling ourselves
                $compile(element.contents())(scope);
            }
        );
    };
}])
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.7.5/angular.min.js"></script>
<div ng-controller='MyController' ng-app="myApp">
  <div compile="html"></div>
</div>

以上是关于当锚标记是从属性文件加载UI的SREF不能正常工作的主要内容,如果未能解决你的问题,请参考以下文章

UI-Router 不使用 ui-sref 注册动态创建的元素

Kendo Grid 和 ui-sref 向上取整数字

动态设置 ui-sref Angularjs 的值

如何访问状态参数(ui-sref)而不将它们包含在angularjs中状态的URL属性中

加载数据构造三叉树不能正常工作(C)

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