Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.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 来自模板的Angularjs调用函数_Javascript_Angularjs_Templates - Fatal编程技术网

Javascript 来自模板的Angularjs调用函数

Javascript 来自模板的Angularjs调用函数,javascript,angularjs,templates,Javascript,Angularjs,Templates,我还没有找到关于如何使用诸如Mustach或twig之类的模板的文档。所有文档都有点像这样,有点像那样,但并不是一个清晰的列表,其中列出了您可以使用模板做什么 尝试编写将生成文本和复选框的指令。需要选中复选框的代码位于函数中,但不知道如何从模板中调用它: <input type="checkbox" {{ isChecked(tag) }} /> 在模板中: <input type="checkbox" {{ isChecked(tag) }} /> [更新] 我之所

我还没有找到关于如何使用诸如Mustach或twig之类的模板的文档。所有文档都有点像这样,有点像那样,但并不是一个清晰的列表,其中列出了您可以使用模板做什么

尝试编写将生成文本和复选框的指令。需要选中复选框的代码位于函数中,但不知道如何从模板中调用它:

<input type="checkbox" {{ isChecked(tag) }} />
在模板中:

<input type="checkbox" {{ isChecked(tag) }} />
[更新]

我之所以想这样做,是因为在服务器上我使用的是条令,我的实体可以从JSon填充。因此,在用户编辑/创建一个实体及其相关实体后,可以将其作为JSON发布,并保存在其中(在MySQL数据库中)

问题是,当我删除相关实体(例如文章中的标记)时,Angular会从文章中删除该实体。我希望文章保持不变,但clientCommandRemove属性为true,这样当从发布的JSON创建文章实体时,它知道该做什么(删除标记)

这篇文章应该是这样的:

{"text":"some text",id:22,
"tags":[
  {"id":6,"clientCommandRemove":true},
  {"id":2,"clientCommandAdd":true},
  {"id":9}]
}
这告诉实体获取id为22的文章,并将文本设置为“some text”(有更多的值,但由于它们不在json消息中,所以不会更改)。id为6的标记需要删除,id为2的标记需要添加,id为9的标记保持不变,因此实体不会对此采取任何操作


如前所述;Angularjs似乎只是在使用类似ng选项的多选时删除子对象,因此实体更新此类信息的唯一方法是删除所有标记并在发布的文章中添加这些标记。

我可能错了,但看起来您正在尝试重新实现
ngChecked
指令。见@ivarni谢谢你的回复。我不认为查看是否需要检查的代码可以放入表达式中。它需要在许多项上循环。表达式可以是函数调用,因此您应该能够执行
ng checked=“isChecked(tag)”
。绑定内部标记和外部标记之间存在差异。如果您检查这个插件上的源代码,您将看到第二个
p
标记中的函数未应用。如果你想走这条路,你可能需要
ng class
。因为angular的脏检查,它可能被多次调用。每当作用域上的某些内容发生更改时,框架都会重复调用它,以查看它是否以任何方式影响了该函数。