Angular 1.5

时间:2017-08-07 13:55:41

标签: javascript angularjs angularjs-directive angularjs-scope angularjs-controller

在angular 1.5应用程序中,两个指令在相同的应用程序中是独立的 这里显示的情况演示 https://codepen.io/adamchenwei/pen/qXRGQp

您将看到一个错误,其中在componentA中,未找到其组件的假定绑定到componentB&#39功能的函数。我想知道是否有办法可以在不通过主应用程序的情况下将函数绑定在两个不同的指令中?

如果我必须通过主要应用程序,这样做的最佳方式是什么?

的js

var app = angular.module('github', []);

app.directive('componentB',() => {
  return {
    scope: {
      updateA: '=',
    },
    template: `<div> B </div>`,
    controllerAs: 'componentBCtrl',
    controller: () => {
      this.callMePlz = (newVal) => {
        console.log('hehe');
        console.log(newVal);
      }
    }
  };
})

app.directive('componentA',() => {
  return {
    scope: {
      updateA: '=',
    },
    template: `<div> A </div>`,
    controllerAs: 'componentACtrl',
    controller: () => {

 console.log('a is running');     this.updateA('madness');
    }
  };
})

HTML

<div ng-app="github">
  <!-- compA has a change take places which trigger a change of value in compB  -->
  <component-a
    update-a="componentBCtrl.callMePlz"
  >

  </component-a>

  <component-b>


  </component-b>

</div>

0 个答案:

没有答案