【发布时间】:2016-11-20 18:01:14
【问题描述】:
AngularJS 新手,有很多问题。
- 请问写在指令中的函数和写在控制器中的函数有什么区别?
例如在这个指令中sn-p:
link: function(scope, element, attrs) {
scope.hideModal = function () {
console.log("hide modal fxn called");
scope.show = false;
};
},
template:'<div class=\"ng-modal\" ng-show=\"$scope.show\">' +
'<div class=\"ngdialog-overlay\" ng-click=\"hideModal()\"></div>' +
'<div class=\"ng-modal-dialog\" ng-style=\"dialogStyle\">' +
'<div class=\"ng-modal-close\" ng-click=\"hideModal()\">X</div>' +
'<div class=\"ng-modal-dialog-content\" ng-transclude></div>' +
'<div style=\"left:80%\"><button type = \"button\" style=\"float:right\">Next</button></div>' +
'</div>' +
'</div>'
- 为什么 hideModal() 函数写在链接内部(不确定这叫什么)而不是控制器内部?
- 是否可以在控制器中编写 hideModal()?
- 如果#3 的答案是肯定的,我可以完全省略写链接吗?如果我这样做会有什么缺点吗?
我问这些是因为无论我把它放在哪里(指令或控制器中),我都无法让 hideModal() 函数工作,我想了解原因。
如果您能尽可能通俗地回答我,我将不胜感激。 AngularJS 对我来说太难理解了,而且我还不是很精通它,所以如果你不这样做,你有 100% 的机会会被我瞪大眼睛。
谢谢。
【问题讨论】:
标签: angularjs