我现在正在努力工作几个小时。
var testApp = angular.module('testApp', []);
testApp.directive('test', function() {
return {
restrict: 'E',
transclude: true,
template: '<div ng-transclude>Hello World</div>',
link: function(scope) {
}
}
});
testApp.controller('testCtrl', function ($scope) {
$scope.user = "";
});
这是JSFiddle:http://jsfiddle.net/2bKPj/
现在,我需要的是嵌入在指令中的输入,以便能够直接在testCtrl控制器中反映用户模型。 我对这种野兽是如何运作感到困惑,因为我教过在这种情况下共享范围,不是吗?
答案 0 :(得分:2)
ngTransclude
创建一个新的子范围,它从字形上继承父范围。
在子范围上使用基元时,它会影响父范围的变量。
已经说过千次了:使用点符号!
<强>控制器:强>
testApp.controller('testCtrl', function ($scope) {
$scope.data = { user : "Hello World" };
});
<强> HTML:强>
<input type="text" ng-model="data.user"/><br />
Directive model:<span>{{ data.user }}</span>