指令 - AngularJS中的控制器数据绑定

时间:2014-02-02 23:29:36

标签: angularjs

我现在正在努力工作几个小时。

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控制器中反映用户模型。 我对这种野兽是如何运作感到困惑,因为我教过在这种情况下共享范围,不是吗?

1 个答案:

答案 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>  

检查我的其他答案以获取描述: