javascript - 如何在 AngularJS 中控制台从 Controller 到指令 Controller 的更改

标签 javascript angularjs angularjs-directive

以下是运行良好的代码,没有任何问题。我唯一无法得到的是 -

每当按钮按下时,如何控制台 console.log("CHECK ",vm.testvar);

工作 Plnkr - http://plnkr.co/edit/BGdGgGaDXlKiZq2aaN00?p=preview

script.js -

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

myApp.controller('mainCtrl', function($scope){
  $scope.test = 'my test string from controller';

  $scope.clicked = function() {
    $scope.test = 'New - ' + Date.now();
  };
})

myApp.directive('mydir', function(){
  return {
    restrict: 'E',
    scope: {
      testvar: '='
    },
    template: '<h1>Test Directive - {{vm.testvar}}</h1>',
    controllerAs: 'vm',
    replace: true,
    bindToController: true,
    controller: function () {
      var vm = this;

      console.log("CHECK ",vm.testvar);
    }
  };
})

最佳答案

有多种方法可以解决这个问题,但最快的方法,也可能是最 Angular 1.* 方法是使用 $scope.$watch 方法:

controller: function ($scope) {
  var vm = this;

  $scope.$watch( 'vm.testvar', function(newValue){ 
    console.log( 'cHanged', newValue)
  })

  console.log("CHECK ",vm.testvar);
}

http://plnkr.co/edit/KsrG5lgmtyKSGce5HZ6F?p=preview

关于javascript - 如何在 AngularJS 中控制台从 Controller 到指令 Controller 的更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33788488/

相关文章:

javascript - 使用angularjs交换图像标签中的ng-src属性

javascript - 我如何从 AngularJS 中的编译中获得 promise ?

即使指令 ng-form 无效,angularjs 父 ng-form 也有效

php - 在 JavaScript 中调用 php 时出错

javascript - 如何检查 Javascript 对象数组是否始终具有相同的值

javascript - Angularjs 如何在 ng-repeat 中切换 div?

angularjs - 如何用 ng-transclude 替换元素

javascript - 使用来自 Controller 的返回值调用指令函数

javascript - 在 HTML 中插入对象数据

javascript - 未声明 JS 命名空间 Netbeans 变量