Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何结合使用translate和ng bind html生成ui sref链接_Javascript_Angularjs_Angular Translate - Fatal编程技术网

Javascript 如何结合使用translate和ng bind html生成ui sref链接

Javascript 如何结合使用translate和ng bind html生成ui sref链接,javascript,angularjs,angular-translate,Javascript,Angularjs,Angular Translate,我有点困惑于如何从翻译的字符串生成一个有效的ui-sref链接 我用的是angular 1.4.9 带角度平移2.9.0 这是相关代码 <div ng-bind-html="$scope.getTranslatedText(someObject)"></div> controller { function(value) { this.$translate.isPostCompilingEnabled(); // Returns true

我有点困惑于如何从翻译的字符串生成一个有效的
ui-sref
链接

我用的是angular 1.4.9 带角度平移2.9.0

这是相关代码

<div ng-bind-html="$scope.getTranslatedText(someObject)"></div>

controller {
   function(value) {
       this.$translate.isPostCompilingEnabled(); // Returns true
       return this.$translate.instant("taskNames."+value.parameters['messageId'], value.parameters);
   }
}

My translation has the following string.

taskInstructions{
    someMessageId: "Here is some text <a ui-sref=\"goSomewhere\">Some more text</a>"
}

控制器{
函数(值){
此.$translate.isPostCompilengEnabled();//返回true
返回此.$translate.instant(“taskNames.+value.parameters['messageId'],value.parameters);
}
}
我的翻译有以下字符串。
任务说明{
someMessageId:“这里有一些文本,还有一些文本”
}
我的翻译按预期返回文本,如果我没有
ng bind html
ui sref,但一旦我添加
ng bind html
ui sref,ui sref就会消失。我试过编译,但似乎不起作用,尽管我不确定是否正确使用了它

我在翻译输出上尝试了
$sce.trustAsHtml
,结果
ui sref
显示在html输出中,但实际上它没有链接到任何地方。我觉得我在某个地方遗漏了一些步骤,但我似乎不知道angular希望我做什么才能让ui sref正常工作


有没有什么好的方法可以让它发挥作用?

不使用translate,但这可能会有所帮助。我们使用
$sce
$state

HTML

<section class="adb-layout-row" ng-repeat="post in vm.posts">
  <div class="adb-layout-default">
    <h5><a ng-click="vm.open(post)">{{ post.title }}</a></h5>
    <div ng-bind-html="post.html"></div>
  </div>
</section>

不使用翻译,但这可能会有所帮助。我们使用
$sce
$state

HTML

<section class="adb-layout-row" ng-repeat="post in vm.posts">
  <div class="adb-layout-default">
    <h5><a ng-click="vm.open(post)">{{ post.title }}</a></h5>
    <div ng-bind-html="post.html"></div>
  </div>
</section>

首先,为什么需要
ng bind html
?它通常只用于显示用户提交的内容,不编译方向不确定我是否需要
ng bind html
,当我试图使链接正常工作时,最初使用的是
ng bind html
,现在可能只是转移视线,但我不确定正确的步骤是什么。如果我只是尝试翻译,我只会返回文本,因此没有正常工作的html。如果你想输出一个动态锚标记,那么是的,你必须使用
ng bind html
,但是你必须告诉angular,首先使用
$sce.trustAsHtml()
ng bind html=“getTranslatedText(someObject)”
,可以使用它,您不需要
$scope
为什么首先需要
ng bind html
?它通常只用于显示用户提交的内容,不编译方向不确定我是否需要
ng bind html
,当我试图使链接正常工作时,最初使用的是
ng bind html
,现在可能只是转移视线,但我不确定正确的步骤是什么。如果我只是尝试翻译,我只会返回文本,因此没有正常工作的html。如果你想输出一个动态锚标记,那么是的,你必须使用
ng bind html
,但是你必须告诉angular,首先使用
$sce.trustAsHtml()
ng bind html=“getTranslatedText(someObject)”
,可以使用它,您不需要
$scope