Angularjs 如何通过指令将数据从HTML传递到控制器?

Angularjs 如何通过指令将数据从HTML传递到控制器?,angularjs,angularjs-directive,Angularjs,Angularjs Directive,我使用指令从html传递数据 <div ng-app="app" ng-controller="main"> <tempdir color="red"></tempdir> </div> 并使用它 var app = angular.module('app', []); app.directive("tempdir", function() { return { template: "<div id={{color}

我使用指令从html传递数据

<div ng-app="app" ng-controller="main">
   <tempdir color="red"></tempdir>
</div>

并使用它

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

app.directive("tempdir", function() {
  return {
    template: "<div id={{color}}> ... </div>",
    scope: {
      color: "@"
    }
  };
});

app.controller('main', function($scope) {
  // HOW TO CONSOLE.LOG "RED"?
  console.log();
});
var-app=angular.module('app',[]);
app.directive(“tempdir”,function(){
返回{
模板:“…”,
范围:{
颜色:“@”
}
};
});
应用控制器('main',函数($scope){
//如何将CONSOLE.LOG设置为“红色”?
console.log();
});

如何在控制器内部使用可变颜色?

如果指令中的
颜色
参数将被更新,您需要对指令使用双向绑定-因此,在定义
颜色
参数时,您将使用
=
。对于
color
参数,应使用控制器变量,而不是硬编码
red

<div ng-app="app" ng-controller="main">
   <tempdir color="selectedColor"></tempdir>
</div>

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

app.directive("tempdir", function() {
  return {
    template: "<div id={{color}}> ... </div>",
    scope: {
      color: "="
    }
  };
});

app.controller('main', function($scope) {
  $scope.selectedColor = 'red';
  console.log($scope.selectedColor);
});

var-app=angular.module('app',[]);
app.directive(“tempdir”,function(){
返回{
模板:“…”,
范围:{
颜色:“=”
}
};
});
应用控制器('main',函数($scope){
$scope.selectedColor='red';
console.log($scope.selectedColor);
});