在angularjs指令隔离范围内绑定变量

每个 AngularJs 开发者都知道 AngularJs 指令。
知道它有多酷,但现在很多开发者都知道隔离作用域方法。
一般 AngularJs 指令作用域有 3 种类型:继承、不继承和隔离。
今天我们将讨论隔离作用域。

由于 AngularJS 现在是一个已弃用的框架,我们可以改用 JavaScript 现代框架,如 Vuejs、React 和 Angular。

对指令使用隔离作用域,我们将有 3 种使用方式:'='、'@'、'&'。
第一种是 2 种方式绑定。

有时你想拥有独立作用域的指令,但你需要将它绑定到任何地方。
例如,你想在它上面设置监听器(手表)。
有两种方法可以做到。
让我们看看。

...
module.directive("myDirective",function(){
    return {     
      ...
      link: function(scope, el, attrs){
        scope.$watch(attrs.[any_attribute],function(data){  //for example any_attribute = 'ngModel'
             //anything you want
        },true)
      }
    }
})
...
module.directive("myDirective",function(){
    return {
      ...
      scope: {
        variable: '='
      }
      ...
      link: function(scope, ...){
        scope.$watch('variable',function(data){
             //anything you want
        },true)
      }
    }
})

如我们所见,有两种方法可以做到,但第二种方法更专业。

日期:2020-06-02 22:18:46 来源:oir作者:oir