gpt4 book ai didi

javascript - 在 AngularJS 中需要 ngModel 语法

转载 作者:行者123 更新时间:2023-11-30 00:07:07 25 4
gpt4 key购买 nike

我看到以下内容:

// 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 提供两种数据绑定(bind)> 实例已声明?

这是在 Angular 1.4 中提供指令和外部模型之间双向数据绑定(bind)的惯用方式吗?

除了将 ng-model 指令实例的 Controller 实例注入(inject)链接函数 之外,指令定义中的 require: 'ngModel' 是否执行任何操作?我的链接?

最后,它是否使 ng-model 的 Controller 在范围内可用,供 my-directive 的 Controller 使用?

最佳答案

这里有 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 向绑定(bind)由指令内部的定义提供。 (这里随便)

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?

不,它不会向您的范围添加任何内容。您只能访问注入(inject)的 Controller 。

关于javascript - 在 AngularJS 中需要 ngModel 语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38101317/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com