Angular.js如何从指令更新范围?

Exy*_*Tab 16 angularjs angularjs-directive angularjs-scope

如何更新指令范围?

<div ng-controller="MyCtrl">
    <p t></p>
</div>
Run Code Online (Sandbox Code Playgroud)

我的指示:

var myModule = angular.module('myModule', [])
    .directive('t', function () {
        return {
            template: '{{text}}',
            link: function (scope, element, attrs) {
                scope.text = '1';
                element.click(function() {
                     scope.text = '2';
                });
            }
        };
    })
    .controller('MyCtrl', ['$scope', function ($scope) {
    }]);
Run Code Online (Sandbox Code Playgroud)

点击指令后不更新.

Che*_*niv 43

使用$apply方法:

  element.click(function() {
      scope.$apply(function(){
           scope.text = '2';
      });
  });
Run Code Online (Sandbox Code Playgroud)

说明:数据绑定如何在AngularJS中工作?