指令 - 从Controller初始化ngModel

时间:2012-12-28 19:01:40

标签: angularjs

为什么ngModel没有设置Controller的初始值?

示例:http://plnkr.co/edit/sGFv4zpVtvpsmUx1c9F3

    angular.module('customControl', [])
  .directive('contenteditable', function() {
    return {
      restrict: 'A', // only activate on element attribute
      require: '?ngModel', // get a hold of NgModelController
      link: function(scope, element, attrs, ngModel) {
        if(!ngModel) return; // do nothing if no ng-model

        // Specify how UI should be updated
        ngModel.$render = function() {
          element.html(ngModel.$viewValue || '');
        };
      }
    };
  });

  function TestCtrl($scope) {
    $scope.userContent = 'It Works!!!!';
  }

1 个答案:

答案 0 :(得分:1)

您为模块命名为“customController”,因此您必须为ng-app命名。

更改<html ng-app>

<html ng-app="customControl">

它应该解决你的问题。

工作示例:http://plnkr.co/edit/bVYavNKuwV9BjrDNz2Hm