Javascript AngularJs指令更新

Javascript AngularJs指令更新,javascript,angularjs,Javascript,Angularjs,我只想在某些需要的地方更新指令内容,但不想在其他地方更新指令内容。我在这里模拟了我的问题: 问题是,我有一个“编辑器”指令,适用于两个地方: 我想在单击按钮时更新span class=“editor1”的内容 如何操作?您可以检查当前目录是否有“editor1”类,如果有,请完成您的逻辑。 您可以查看以下示例: 元素[0]。查询选择器('.editor1')!=未定义“您可以检查当前目录是否有“editor1”类,如果有,请完成您的逻辑。 您可以查看以下示例: 元素[0]。查询选择器(

我只想在某些需要的地方更新指令内容,但不想在其他地方更新指令内容。我在这里模拟了我的问题:

问题是,我有一个“编辑器”指令,适用于两个地方:

我想在单击按钮时更新
span class=“editor1”
的内容


如何操作?

您可以检查当前目录是否有“editor1”类,如果有,请完成您的逻辑。 您可以查看以下示例:
元素[0]。查询选择器('.editor1')!=未定义“

您可以检查当前目录是否有“editor1”类,如果有,请完成您的逻辑。 您可以查看以下示例:
元素[0]。查询选择器('.editor1')!=未定义的“

为什么不通过隔离指令的范围来采用相对的角度式方法,并在最大程度上避免在逻辑中使用jQuery

因此,您可以将指令定义为:

.directive('editor', function() {
  return {
    scope: {
      upd : '=',
      editordata : '=data'
    },
    template: '<div>{{editordata}}</div>',
    controller: function($scope, $rootScope, $element) {

      $rootScope.$on('update', function(evt, data) {      
        if(data.upd === $scope.upd){
          $scope.editordata = data.txt;
        }
      })
    },
    link: function(scope, el, attr) {}
  }
})

为什么不通过隔离指令的范围来使用相对Angularesque方法,并在最大程度上避免在逻辑中使用jQuery

因此,您可以将指令定义为:

.directive('editor', function() {
  return {
    scope: {
      upd : '=',
      editordata : '=data'
    },
    template: '<div>{{editordata}}</div>',
    controller: function($scope, $rootScope, $element) {

      $rootScope.$on('update', function(evt, data) {      
        if(data.upd === $scope.upd){
          $scope.editordata = data.txt;
        }
      })
    },
    link: function(scope, el, attr) {}
  }
})

我必须在指令的控制器中使用$element来使用这个逻辑。非常感谢。我必须在指令的控制器中使用$element来使用这个逻辑。谢谢。