Angular ng-controller与ng-app冲突

时间:2015-04-05 19:34:04

标签: javascript angularjs

我正在尝试使用自定义控件来获取Angular中的contenteditable元素,如this example中所述。但是,我还需要使用一个控制器,即使我的控制器完全为空,也会导致代码的可信部分失败。

This Plunker显示所需的行为,但不包括控制器。

<body ng-app="myApp">
  <div>
    <h1 contenteditable ng-model="test">123</h1>
    <textarea ng-model="test"></textarea>
  </div>
</body>

This Plunker显示将控制器添加到HTML文件第10行的div中,但第一个Plunker的所需行为不再存在。

<body ng-app="myApp">
  <div ng-controller="mainController">
    <h1 contenteditable ng-model="test">123</h1>
    <textarea ng-model="test"></textarea>
  </div>
</body>

1 个答案:

答案 0 :(得分:1)

您必须使用应用程序显式注册控制器 - 默认情况下不允许使用全局控制器功能:

.controller("mainController", function mainController($scope){

});

现在这是Angular v1.3 +

中的默认选项

(当然,您还有其他与不受信任的HTML绑定的问题,但这是一个不同的故事)