Angularjs 用于更改父模型(如ng模型)的Angular指令

Angularjs 用于更改父模型(如ng模型)的Angular指令,angularjs,angularjs-directive,angularjs-scope,Angularjs,Angularjs Directive,Angularjs Scope,我正在学习“指令”以及它们如何有用。 下面的指令应该在每次单击时增加一个(包括$scope.model和scope.bind),但不起作用 发生了什么事?我误解了 var-app=angular.module('app',[]); 应用程序控制器('ctrl',函数($scope){ $scope.name='World'; $scope.func=函数(){ 返回“文本”; } $scope.model=1; }); app.directive('myComponent',function(

我正在学习“指令”以及它们如何有用。 下面的指令应该在每次单击时增加一个(包括$scope.model和scope.bind),但不起作用

发生了什么事?我误解了

var-app=angular.module('app',[]);
应用程序控制器('ctrl',函数($scope){
$scope.name='World';
$scope.func=函数(){
返回“文本”;
}
$scope.model=1;
});
app.directive('myComponent',function(){
返回{
限制:'E',
范围:{
类别:“@”,
绑定:'=',
表达式:'&'
},
链接:函数(范围、元素、属性){
元素上('click',function()){
控制台日志(“单击”);
scope.bind=scope.bind+1;
作用域:$apply();
})
},
模板:“类:{Class}}Bind:{{Bind}}Expr:{{Expr()}}”
};
})
.sampleclass{
背景:#F00;
}

你好{{name}}

{{model}}
由于要在angular之外更新范围变量,需要强制执行
$digest
,因此可以使用强制执行摘要循环并更新绑定

尝试:-

或者,您应该只使用,而不是使用jquery绑定事件
ng单击
将确保在处理程序运行后更新绑定

....
  scope.increment = function(){
     scope.bind++;
    }
   },
   template: '<span ng-click="increment()">Class: {{class}} Bind: {{bind}} Expr: {{expr()}}</span>'
。。。。
scope.increment=函数(){
bind++;
}
},
模板:“类:{Class}}Bind:{{Bind}}Expr:{{Expr()}}”

....
  scope.increment = function(){
     scope.bind++;
    }
   },
   template: '<span ng-click="increment()">Class: {{class}} Bind: {{bind}} Expr: {{expr()}}</span>'