我使用带有controllerAs语法的指令。我想使用该指令的2个实例,它们都需要非共享数据。我的问题,似乎只有控制器实例。
似乎可以选择在指令声明中添加范围:{}。但后来我会被迫使用基于范围的访问?
或者还有其他方法仍然使用controllerAs / this语法并强制使用angular来创建2个不同的控制器对象吗?
app.directive('createA', function() {
return {
restrict : 'E',
templateUrl : '/template/createActivity',
// using this to create 2 distinct scopes
// but then I can't use the this/caCtrl.data syntax?
scope : {},
controller : function($scope, $rootScope) {
// using this syntax to access data
// in tempate like {{ caCtrl.data }}
this.data = '123';
},
controllerAs : 'caCtrl'
};
});
答案 0 :(得分:3)
我相信你要找的是指令的bindToController属性。查看此博文http://blog.thoughtram.io/angularjs/2015/01/02/exploring-angular-1.3-bindToController.html