3 回答
TA贡献1772条经验 获得超5个赞
var app = angular.module('myApp',[]);
app.controller('myCtrl',function($scope){
$scope.accept= function(){
...
}
}
app.directive('myDir',
function(){
return {
restrict:'EA',
replace: true,
template: '<input ng-click="test()"></input>',
scope:{
test: '&'
},
link: function(scope, element, attrs) {
元素.bind("click",function(){
scope.accept();
})
}
}
}
);
TA贡献1843条经验 获得超7个赞
可以把myCtrl
里的test function
存到service
里,然后在directive
里调用service
里的test function
app.controller('myCtrl',function($scope,methods){
$scope.test= function(){
...
}
methods.test = $scope.test;
}
app.factory('methods',function(){
return {
test: null
};
})
app.directive('myDir',
function(){
return {
restrict:'EA',
replace: true,
template: '<input ng-click="accept()"></input>',
scope:{
},
controller: function ($scope,methods) {
$scope.accept = function () {
console.log('accept fn');
methods.test();
};
}
}
}
);
或者:
var app = angular.module('myApp',[]);
app.controller('myCtrl',function($scope){
$scope.test= function(){
...
}
}
app.directive('myDir',function(){
return {
restrict:'EA',
replace: true,
template: '<input ng-click="test()"></input>',
scope:{
test: '&'
},
controller: function(){}
}
});
HTML:
<my-dir test="test()"></my-dir>
TA贡献1893条经验 获得超10个赞
<button type="button" ng-click="accept()">test</button>
这是 html
里的调用方式?
然后这个是 directie 的 template: <input ng-click="test()"></input>
?
所以你的 myDir
这个 directive 到底是在哪儿调用的?另外,如果方便,请你大概描述一下你要实现什么功能。
- 3 回答
- 0 关注
- 1038 浏览
添加回答
举报