如何将参数从AngularJS指令传递到AngularJS控制器函数
提前感谢,实际上我想从应用程序调用控制器中的函数。指令,请有人告诉我如何调用?我也向该函数传递参数?我是angular方面的新手,下面是所有代码如何将参数从AngularJS指令传递到AngularJS控制器函数,angularjs,angularjs-directive,isolate-scope,Angularjs,Angularjs Directive,Isolate Scope,提前感谢,实际上我想从应用程序调用控制器中的函数。指令,请有人告诉我如何调用?我也向该函数传递参数?我是angular方面的新手,下面是所有代码 var app = angular.module('quizApp', []); app.controller("SaveCtrl", function (scope) { $scope.Save = function (score) { $scope.TestDetailsViewModel = {}; $scope.TestDeta
var app = angular.module('quizApp', []);
app.controller("SaveCtrl", function (scope) {
$scope.Save = function (score) {
$scope.TestDetailsViewModel = {};
$scope.TestDetailsViewModel.CorrectAnswer = $scope.score;
$http({
method: "post",
url: "/Home/ResultSave",
datatype: "json",
data: JSON.stringify($scope.TestDetailsViewModel)
}).then(function (response) {
alert(response.data);
})
};})
app.directive('quiz', function (quizFactory) {
return {
restrict: 'AE',
scope: {},
templateUrl: '/Home/Dashboard',
link: function (scope, elem, attrs) {
scope.getQuestion = function () {
var q = quizFactory.getQuestion(scope.id);
if (q) {
scope.question = q.question;
scope.options = q.options;
scope.answer = q.answer;
scope.answerMode = true;
} else {
scope.quizOver = true;
//Calling function save(); in Controller
//scope.Save(scope.score);
}
};
}
}});
在隔离范围的情况下,指令范围完全不知道其父范围 要调用控制器的函数,必须将该函数绑定到指令的作用域,然后从指令内部调用作用域函数 例如:
app.controller('MainCtrl', function($scope) {
$scope.commonFunc = function(passed){
$scope.name = passed;
};
});
app.directive('demodirective', function(){
return {
scope: {
commonFunc: '&'
},
link: function(scope){
scope.commonFunc({passed:"world"});
}
};
});
HTML
你好{{name}
仅供参考-非常感谢,我得到了这个解决方案,实际上我在这个问题上被困了两天。它非常适合我。有关
&
表达式绑定的更多信息,请参阅。@amrendersing我做到了,Thanks@LuizCarlos谢谢,先生,我得到了下面提到的解决方案。
<body ng-controller="MainCtrl">
<demodirective common-func="commonFunc(passed)">
</demodirective>
Hello {{name}}
</body>