AngularJS 自定义指令模板中的控制变量

AngularJS control variable in custom directive template

我做了一个自定义指令, 在模板中有一个变量 ng-model="test",

在指令控制器中, 我怎样才能对变量进行任何更改?

angular.module("myDirective", []).directive("ngTest", function(){
    return {
      restrict: "E",
      scope: true,
      template: "<input type='text' ng-model='test'>+
      <button ng-click='change()'></button>",
      controller: function ($scope, $element){
        $scope.change = function(){
          // no idea about how to control variable test here.
          $scope.test = "123123123"; //this doesn't work. :(
        }
      } 
    }
  });

这是为你工作 plunker :)

app.directive("ngTest", function(){
    return {
      restrict: "E",
      scope: true,
      template: "<input type='text' ng-model='test'><button ng-click='change()'>Click Me</button>",
      controller: function ($scope, $element){
        $scope.change = function(){
          // no idea about how to control variable test here.
          $scope.test = "123123123"; //this doesn't work. :(
        }
      } 
    }
  });

我发现的问题是指令中的“+”不起作用,您需要在同一行中提供完整的模板,或者使用 tempalteUrl 为其提供值。