Angularjs 角JS。创建指令时,HTML中的操作顺序是什么?

Angularjs 角JS。创建指令时,HTML中的操作顺序是什么?,angularjs,Angularjs,我只是有个问题(正确地问一个问题)。 我创建了angularJS应用程序“myApp”。和应用程序获取两个组的列表。应用程序应该在浏览器上显示两个复选框:第一个是选中的,第二个是空的。 但也许我没有计算建立angular指令的行动顺序。 这就是一个例子 变量组=[ { “id”:“769”,“垃圾邮件状态”:“已检查”}, { “id”:“1262”,“垃圾邮件状态”:“}” ]; var-app=angular.module(“myApp”,[]); 应用控制器(“主控制器”,功能($sc

我只是有个问题(正确地问一个问题)。 我创建了angularJS应用程序“myApp”。和应用程序获取两个组的列表。应用程序应该在浏览器上显示两个复选框:第一个是选中的,第二个是空的。 但也许我没有计算建立angular指令的行动顺序。 这就是一个例子


变量组=[
{
“id”:“769”,“垃圾邮件状态”:“已检查”},
{
“id”:“1262”,“垃圾邮件状态”:“}”
];
var-app=angular.module(“myApp”,[]);
应用控制器(“主控制器”,功能($scope){
$scope.groups=组;
});
app.directive(“mygroups”,function()){
返回{
作用域:{info:=“},
模板:“{info.id}}”,
//如果键入:/,则为第一个复选框工作,但这没有意义//
//模板:“{info.id}}”,
控制器:函数(){
对于(变量i=0;i
看起来您想勾选复选框

template:   "<input type='checkbox' ng-model='info.spam_status' ng-true-value='\'checked\'' id='{{group.id}}'> {{info.id}}"
模板:“{{info.id}”
两个问题:

第一点 您的模板是:

<input type='checkbox' id='{{group.id}}'> {{info.id}}
{{info.id}
应该是:

<input type='checkbox' id='{{info.id}}'> {{info.id}}
{{info.id}
第二点 必须在$timeout函数中调用dom修改。在控制器第一次执行时,html还不存在。 $timeout将在下一个摘要中触发代码。因此,您的html将存在

当然,不要在控制器中修改html(即使是在指令中)。link函数是修改html的地方

更正的代码段 下面是带更正的代码段。有一个jquery错误,我没有注意它是什么。不要犹豫,编辑后扔掉它


变量组=[
{
“id”:“769”,“垃圾邮件状态”:“已检查”},
{
“id”:“1262”,“垃圾邮件状态”:“}”
];
var-app=angular.module(“myApp”,[]);
应用控制器(“主控制器”,功能($scope){
$scope.groups=组;
});
app.directive(“mygroups”,function()){
返回{
作用域:{info:=“},
模板:“{info.id}}”,
//如果键入:/,则为第一个复选框工作,但这没有意义//
//模板:“{info.id}}”,
控制器:函数($timeout){
$timeout(函数(){
对于(变量i=0;i
Ok。我会做你的推荐。非常感谢。我刚刚知道“ng checked”。我应该发送'spam_status'='true'或'false'。而且我还不需要jquery方法。这是在我的背景下解决问题的方法