Angularjs从模板调用函数

时间:2014-06-29 10:23:11

标签: javascript angularjs templates

我无法找到关于胡子或树枝等模板可以做什么的文档。所有文档都是这一点,但不清楚你可以用模板做什么。

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

在模板中:

<input type="checkbox" {{ isChecked(tag) }} />

在指令中:

    link : function(scope, iElement, iAttrs, ngModelCtrl) {
        scope.isChecked = function(item){
            console.log("in ischecked",item,this,arguments);
            return "";
        };
    }

[更新]

我想要这样做的原因是因为在服务器上我使用的是教义,我的实体可以从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-options之类的东西时只删除子对象,因此实体更新此类信息的唯一方法是删除所有标记并在发布的文章中添加这些标记。

0 个答案:

没有答案