从 angular 控制器传回 link

pass a link back from angular controller

我已经使用 angularjs 和 firebase 构建了一个登录表单。到目前为止一切顺利——但如果登录尝试不正确,我需要将 "reset password" link 传回视图。它看起来像这样:

ref.authWithPassword({
    email: $scope.account.email, password: $scope.account.password
}, function(error, authData){
    if(error){
        $scope.$apply(function() {
            // this part isn't working
            // also tried:  $scope.authMsg = 'Incorrect credentials. <a href="reset">Reset password?</a>';
            var reset = 'Reset password?';
            reset.link("/pages/recover/");
            $scope.authMsg = 'Incorrect credentials. '+reset;
        });
    } else {
        $scope.$apply(function() {
            $state.go('app.dashboard');
        });
    }
}

除恢复密码 link 外一切正常——在 $scope.authMsg 值中创建 link 的正确方法是什么? link() 根本不起作用,如果我尝试简单地在 return 字符串中写入 a 标记,它会打印原始 HTML 而不是将其解释为link.

如果你想在 $scope.authMsg 中显示一个 link,你可以使用 $sce 服务并使用 ng-bind-[=18= 将安全的 html 绑定到一个元素]指令。

$scope.authMsg = $sce.trustAsHtml('<a href="">Reset Password</a>');

检查这个 plunker 例如 ng-bind-html 和 $sce.trustAsService('') 例子。