角度指令解析变量以发挥作用
Angular directive parsing variables to function
我有以下指令
feedBackModule.directive("responseCollection", ['deviceDetector', function (deviceDetector) {
return {
restrict: "E",
templateUrl: 'js/modules/Feedback/directives/feedbackResponse/collection.html',
scope: {
collections: '=',
completeCallback: '&'
},
link: function (scope, element, attr) {
scope.endCollection = function () {
scope.completeCallback(scope.collections);
}
}
};
}]);
此指令(如您所见)采用一个位于以下控制器中的函数:
feedBackModule.controller('FeedbackResponseController', ['$state', 'Query', 'feedbackSkillService', 'feedbackFactory', 'feedbackResponseService', function ($state, Query, SkillFactory, feedbackFactory, feedbackResponseService) {
var num_users = null;
var user_index = 0;
this.activeUser = null;
this.final = false;
this.feedback = feedbackResponseService.getFeedback();
this.completeUser = function (collections) {
this.activeUser.start = false;
if(user_index < (num_users-1)){
user_index++;
this.activeUser = this.feedback.feedback_has_target_users[user_index];
}
else
{
this.final = true;
}
}
}]);
目录:
<response-collection complete-callback="frCTRL.completeUser()" collections="frCTRL.feedback.feedback_collections" ng-if="frCTRL.activeUser.start && !frCTRL.final"></response-collection>
该函数工作并正确调用,但是我使用它解析的变量始终undefined
所以我的问题是如何将变量/对象传递给这样的函数?
将指令参数绑定更改为=
:
completeCallback: '='
更改 HTML 以引用函数(不带 ()
):
complete-callback="frCTRL.completeUser"
你会很高兴去的。
相关文章:
- 替换变量时,JavaScript字符串replace()不起作用
- Javascript变量到PHP变量-如果语句不起作用,则发布
- js函数堆栈传入变量,.hide()不起作用
- javascript美元符号变量不起作用
- 当我更新另一个作用域变量时,作用域变量会自动更新
- 如何在隔离作用域指令中访问此作用域变量
- 正在向构造函数添加作用域变量
- 带有KendoUI组件的Javascript变量作用域
- 未设置变量的赋值| jQuery的作用是什么
- 在php中为变量提供外部作用域
- Url中的JavaScript变量不起作用
- 如何在angularjs中将多个作用域变量传递到自定义指令中
- 通过php添加到变量won'不起作用
- Javascript变量未定义,onchange不起作用
- 全局变量不起作用
- 对于使用传递的数据计算的局部范围变量,角度绑定在自定义指令中不起作用
- 将变量分配给函数在JavaScript中不起作用
- 彩色变量不起作用
- AngularJS:如何与其他控制器共享作用域函数和变量
- Angular 1.5变量在调用一次之前不起作用