我的指示:
angular.module('matrixarMatrice', []).directive('mtxMatriceForm', function () {
return {
restrict: 'E',
templateUrl: 'views/matrice/matrice.html',
scope: {
matrix: '=',
isclicked: '=',
selectedprice: '&'
},
link: function (scope, element, attrs) {
...
scope.selected = function (prices) {
scope.selected.id = prices.id;
scope.selectedprice(prices);
};
}
};
});
我的控制器:
$scope.selectedprice = function (prices) {
console.log(prices);
};
我的HTML:
<mtx-matrice-form matrix="matrix " isclicked="isclicked" selectedprice="selectedprice(prices)"></mtx-matrice-form>
在我的指令中,当我选择项目时,我会调用我的控制器。
我想利用我的对象价格,但我现在遇到的问题是我的控制器中有一个undefined
。
有谁知道这样做的正确方法?
答案 0 :(得分:1)
这是一个可用于在控制器中包含控制器的选项!还有其他选择。希望它有所帮助!
var app = angular.module('app', []);
app.controller('MainCtrl', function($scope) {
$scope.name = 'Lorem';
});
app.directive('directives', function() {
return {
restrict: 'E',
controller: function($scope, $element){
$scope.name = $scope.name + "impsum";
},
link: function(scope, el, attr) {
scope.name = scope.name + "Ipsum";
}
}
})
答案 1 :(得分:0)
我找到了这个解决方案:
在我的指令中:
...
scope.selected = function (prices) {
scope.selected.id = prices.id;
scope.selectedprice({prices: prices});
};
...