如何在只接受字符串值/文字的HTML属性中调用函数
How to call function in an HTML attribute that only accepts string values / literals?
我在调用这个jade文件中的属性中的函数时遇到问题:
测试。翡翠
script
- function myFunction(str) {
some regex on str, say, to filter out all full stops and
return the new string.
}
.container-fluid
.row
.col-md-12
div(ng-repeat='thing in things')
button(popovertext='{{thing.description()}}', popover-trigger='mouseenter')
popovertext属性中的表达式在不调用函数的情况下,为事物中的每一件事打印字符串(如ng repeat所做的)。但据我所知,popovertext只接受字符串值,所以当我做类似的事情时
button(popovertext='myFunction({{thing.description()}})')
它实际上打印出了myFunction(….原始字符串….),这基本上意味着它根本无法识别我的函数。我应该在这个jade文件中调用函数,而不是在另一个.js文件中调用外部函数,因为显然任何没有"ng-"的属性都不能与控制器通信?
我怎么可能绕过这个?
此外,我对什么时候应该在代码行前面加一个"-"感到非常困惑。我说的对吗,对于翡翠,我需要它来进行var、function和return?
解决这一问题的一种可能方法是为所有对象设置名为descriptionString的字段。你可以在你的控制器中做到这一点:
angular.forEach(things, function(thing){
thing.descriptionString = thing.description();
});
剩下的很简单:
button(popovertext='{{thing.descriptionString}}', popover-trigger='mouseenter')
相关文章:
- 可以't让我的if语句处理js中的html表单输入
- 如何设置html元素填充的动画
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 如何编写HTML输入的JS内联
- Dojo不解析自定义小部件的模板html中的小部件声明性
- 使用javascript将动态表从一个html页面打印到另一个html页
- 通过javascript重定向html传递php变量
- 如何使Javascript动态html表及其上的事件
- 在chrome.tabs.onCreated之后加载HTML页面
- 如何在只接受字符串值/文字的HTML属性中调用函数
- 字符转义:从 Python 字符串文字到 JSON,然后到 HTML
- 在javascript中检索HTML元素的文字值,而不编码与号
- jQuery.html()方法函数文字参数
- 我不想转义HTML标记,也不想在Angular应用程序中使用对象文字
- jquery附加了很多html(得到“未终止字符串文字”或“错误转义”错误)
- 在html属性中存储非文字js对象
- Jquery.html显示文字代码,而不是在application.js中呈现html
- 如何在CoffeeKup模板中使用文字HTML ?
- 如何样式html上传按钮,仍然有文字在一边