jquery - 将对象值连接到 html 模板中的字符串变量

标签 jquery angularjs

我在使用 ng 指令时陷入了困境。我将两个参数传递给 mouseoverOnStep 函数,第一个是对象值本身,第二个是元素的选择器。我有以下 HTML 代码

<li ng-mouseover="mouseoverOnStep(Color.color_value, '.mask-second-{{Color.id}}');" ng-repeat="Color in select.Color">&nbsp;</li>

检查元素时我得到的输出。这是

<li ng-repeat="Color in select.Color" ng-mouseover="mouseoverOnStep(Color.color_value, '.mask-second-');" class="ng-scope">&nbsp;</li>

Error: [$parse:syntax] 

为什么我没有在 DOM 中获取 {{Color.id}} 的值? 我期待类似的事情。

ng-mouseover="mouseoverOnStep(Color.color_value, '.mask-second-12');"
ng-mouseover="mouseoverOnStep(Color.color_value, '.mask-second-13');"

如有任何帮助,我们将不胜感激。

最佳答案

这已经是一个 Angular 表达式:

ng-mouseover="mouseoverOnStep(Color.color_value, '.mask-second-{{Color.id}}');"

{{ }} 放入 JavaScript 中无效。

您有 2 个选择:

ng-mouseover="mouseoverOnStep(Color.color_value, '.mask-second-'+ Color.id);"

这不会评估并显示 Color.id 的值,为什么要这样做?它与用 JavaScript 编写此函数相同:

函数 showMeId(值) { 控制台.log(值); }

showMeId('.mask-second-' + Color.id);//在 javascript 中你永远不会看到它被求值。

-- 或 --

ng-mouseover="mouseoverOnStep(Color);"

您的mouseoverOnStep:

function mouseoverOnStep(color) {
    var cssClass = '.mask-second-' + Color.id;
}

我认为您对什么是 JavaScript、什么是 HTML 以及评估什么感到困惑。

关于jquery - 将对象值连接到 html 模板中的字符串变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31334962/

相关文章:

jquery - CSS3 + jQuery 翻页时间调整

javascript - AngularJS 在数字输入字段中显示 2 个小数点

Jquery无限滚动-div上的滚动条而不是body上的

javascript - 按数组中最后一项排序

javascript - Angular [$插值 :interr] error for applied filter

css - 使用 Angular 创建动态类

angularjs - 使用 AngularJS $http 从 API 检索和显示数据

javascript - 如何在 Javascript 中执行线程

javascript - jQuery bind() unbind() 和 on() 和 off()

php - 在 Wordpress 中上传 Ajax 文件 - 无法传递 FormData