编程语言
首页 > 编程语言> > javascript-在AngularJS中编译文本

javascript-在AngularJS中编译文本

作者:互联网

我有以下模板:

<h1 class="text-center" ng-bind-html="row.text"></h1>

如果我的row.text的内容是字符串,请说:

  Hi your name is {{ name }}

它将显示:

  Hi your name is {{ name }}

而不是实际的{{name}}绑定.

我需要评估或编译该row.text表达式吗?

解决方法:

1:花了一些时间解决这个问题之后,我发现解析一个可能包含AngularJS表达式的字符串,下面是一种方法.

假设您的$scope是:{“ name”:“ my name”}

并且您的字符串表达式位于变量v中:var v =“ Hello,{{name}}”

var exp = $interpolate(v);
var result = exp($scope);

然后,您将在结果变量中获得以下字符串:您好,我的名字

然后,我将答案注入到scope变量中.

但是,与此相关的一个问题是,一旦完成,结果就是一个字符串,因此对作用域中“ name”变量的任何更改将不再影响该特定的求值表达式.

参考:AngularJS $interpolate

2:如果数据绑定仍然很重要,那么我要做的不是创建类似的间接方法,而是创建一个自定义模板字符串,例如“你好{{name}}”

并据此进行编译:

$compile($scope.row.text)($scope)

参考号:AngularJS $compile

我在指令中都尝试过,并且现在可以正常工作.

标签:angularjs,templates,frameworks,client-side,javascript
来源: https://codeday.me/bug/20191122/2057035.html