在 AngularJS 中需要 ngModel 语法
require ngModel syntax in AngularJS
我看到以下内容:
// my-directive.js
return {
require: 'ngModel',
scope: {
ngModel: '=',
},
controller: controller,
link: myLink
};
// my-link.js
return function(scope, $element, attrs, modelController) {
scope.onMyClick = function(event) {
modelController.$setViewValue(getItem(event));
}
};
// foo.html
<my-directive ng-model="myModel"></my-directive>
ng-model
指令是否用于在声明 my-directive
实例的外部范围内为 myModel
提供双向数据绑定?
这是在 Angular 1.4 中提供指令和外部模型之间双向数据绑定的惯用方式吗?
除了将 ng-model
指令实例的控制器实例注入 link 函数 my-link
之外,指令定义中的 require: 'ngModel'
是否执行任何其他操作?
最后,它是否使 ng-model
的控制器在范围内可供 my-directive
的控制器使用?
这里有 2 个不同的东西 - ng-model
作为指令,ngModel: '='
在指令中作为属性。让我们拆分它们:
<my-directive ng-model="myModel" whatever="myModel"></my-directive>
return {
require: 'ngModel',
scope: {
myModel: '=',
},
controller: controller,
link: myLink
};
Is the ng-model directive used to provide a two way data-binding to
the myModel in the outer scope where the my-directive instance is
declared?
不,2 向绑定由指令内部的定义提供。 (whatever
这里)
Is this the idiomatic way to provide two-way data binding between a
directive and an outer model in Angular 1.4?
您使用的范围之一:{ whatever : '='}
是通常的方式。
Does the require: 'ngModel' in the directive definition do anything
other than inject the controller instance for the ng-model directive
instance into the link function my-link
没那么多,如果你使用没有 ngModel 的指令,它会抛出错误。
Finally, does it make the controller of ng-model available on the
scope for the controller of my-directive to use?
不,它不会向您的范围添加任何内容。您可以访问注入的控制器。
我看到以下内容:
// my-directive.js
return {
require: 'ngModel',
scope: {
ngModel: '=',
},
controller: controller,
link: myLink
};
// my-link.js
return function(scope, $element, attrs, modelController) {
scope.onMyClick = function(event) {
modelController.$setViewValue(getItem(event));
}
};
// foo.html
<my-directive ng-model="myModel"></my-directive>
ng-model
指令是否用于在声明 my-directive
实例的外部范围内为 myModel
提供双向数据绑定?
这是在 Angular 1.4 中提供指令和外部模型之间双向数据绑定的惯用方式吗?
除了将 ng-model
指令实例的控制器实例注入 link 函数 my-link
之外,指令定义中的 require: 'ngModel'
是否执行任何其他操作?
最后,它是否使 ng-model
的控制器在范围内可供 my-directive
的控制器使用?
这里有 2 个不同的东西 - ng-model
作为指令,ngModel: '='
在指令中作为属性。让我们拆分它们:
<my-directive ng-model="myModel" whatever="myModel"></my-directive>
return {
require: 'ngModel',
scope: {
myModel: '=',
},
controller: controller,
link: myLink
};
Is the ng-model directive used to provide a two way data-binding to the myModel in the outer scope where the my-directive instance is declared?
不,2 向绑定由指令内部的定义提供。 (whatever
这里)
Is this the idiomatic way to provide two-way data binding between a directive and an outer model in Angular 1.4?
您使用的范围之一:{ whatever : '='}
是通常的方式。
Does the require: 'ngModel' in the directive definition do anything other than inject the controller instance for the ng-model directive instance into the link function my-link
没那么多,如果你使用没有 ngModel 的指令,它会抛出错误。
Finally, does it make the controller of ng-model available on the scope for the controller of my-directive to use?
不,它不会向您的范围添加任何内容。您可以访问注入的控制器。