0
好的,所以我有一个指令,它具有属性并读取它(并写出它)。从指令的隔离控制器获取属性值
plunker现场演示:http://embed.plnkr.co/IkKPLahPc9yqeHWEQUG3/
我想这是因为控制器:内部主directive.js这没有什么,而实际的行动是孤立的指令的控制器控制器内部发生的Ctrl键。
这里是主directive.js:
var app = angular.module('testapp.directive.main', ['main']);
app.directive('myCustomer', function() {
var controller = ['$scope', function($scope) {
$scope.dan = { 'name': 'Chad', 'nationality': 'China' };
// I want the scope.dan object to be read from here.
}];
var template = 'Getting attribute value of =getInfo... {{getInfo.name}} from {{getInfo.nationality}}';
return {
restrict: 'E',
controller: controller,
scope: {
getInfo: "=info"
},
template: template
};
});
app.controller('ctrl', function($scope) {
// adding the $scope.dan object here will work
// but I don't want it here.
});
,这里是我为它的模板:
'[email protected]': {
controller: 'MainCtrl as mainCtrl',
template: '<div ng-controller="ctrl"><my-customer info="dan"></my-customer></div>'
}
如何使它所以从隔离控制器内读取的对象里面的指令,而不是从控制器'ctrl'?
谢谢。
嗯..所有的原因,我有指令中分离出的控制器是为单元测试。有这样的控制器...它不会使它可重用,不是吗? – red
我不确定可重复使用的含义。对于Instance,你可以通过引用'controller:'ctrl''从任何指令中肯定地重用控制器。 – phix
你说得对。我在想一个控制器是孤立的,它必须是INSIDE指令。 但是,它在指令中的目的是什么?无论如何,谢谢。 – red