当我发现 AngularJS 中有很多组件时,我正在阅读有关指令的一些内容,并且想知道指令和组件之间的区别是什么。
有一个功能组件,类型组件,服务组件,过滤器组件,提供者组件等......然后最重要的是我发现模块组件是一个由指令,服务,过滤器,提供者,模板,全局API组成的组件,并测试模拟。这往往会使事情变得更加困惑。我在 Angular 文档中找不到“组件”的定义来解释列出的组件类型之间的区别。
那么AngularJS中的“组件”到底是什么?它像可重用的代码块一样简单吗?
顺便说一句,我目前使用的是 Angular 1.4.2 版。
最佳答案
Angular 组件是在 1.5 版中引入的。
组件是指令的简化版本。它不能进行 dom 操作(不是链接或编译方法),并且“替换”也消失了。
组件是“限制:E”,它们是使用对象(而不是函数)配置的。
一个例子:
app.component('onOffToggle', {
bindings: {
value: '=',
disabled: '='
},
transclude: true,
template: '<form class="form-inline">\
<span ng-transclude></span>\
<switch class="small" ng-model="vm.value" ng-disabled="vm.disabled"/>\
</form>',
controllerAs: 'vm',
controller: ['$scope', function($scope) {
var vm = this;
$scope.$watch("vm.disabled", function (val) {
if (!val) {
vm.value = undefined;
}
})
}]
});
进一步阅读:
https://toddmotto.com/exploring-the-angular-1-5-component-method/
关于angularjs - AngularJS 中的组件是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33513409/