Angularjs使用ui-sref链接将html添加到变量

时间:2015-05-05 16:20:34

标签: javascript angularjs angular-ui-router

我有以下代码将html添加到变量中。但是,当它显示在页面上时,该链接无法正常工作。

在动态插入ui-sref链接时,最好的方法是什么?

JAVASCRIPT

.controller('page', function($scope, $rootScope, $http, $state, $sce) {

    $scope.message = $sce.trustAsHtml('A <a ui-sref="login">login</a> link');

})

HTML

<div ng-bind-html="message"></div>

1 个答案:

答案 0 :(得分:2)

a working plunker

我想说,我们可以结合使用:

  • $state.href() (doc here
  • ng-href (doc here

(但仅限于以下情况,如果传递的参数是网址的一部分)

这将是结果

<a ng-href="{{$state.href(myStateName, myParams)}}">

现在(在the plunker我们可以将 myStateName 更改为parentparent.childhome和它会正确改变生成的href:

<input ng-model="myStateName" />
<input ng-model="myParams.param" />

因为这些是plunker中的状态

$stateProvider
  .state('home', {
      url: "/home",
      ...
  })
  .state('parent', {
      url: "/parent?param",
      ...
  })
  .state('parent.child', { 
      url: "/child",
      ...

检查here