我正在构建一个由组件组成的站点。 一个组件,定义为一组特定的HTML和CSS以及jQuery。 该网站的每个页面都包含许多组件。 根据最佳实践,我们将javascript块放在页面底部。 我们加载了所需的.js文件,然后我打算调用所需的函数: doThisThing(); doThatThing(); 假设我有组件X.我想在渲染页面上出现该组件时调用一个函数。 从jQuery的角度来看,处理这个问题的理想方法是什么? 一些选择: 1)无论组件是否在页面上,始终调用该函数: $(‘.componentX’).doYourThing() 这很简单,因为我们可以只有一个通用的jQuery函数调用块。 但是,由于搜索DOM寻找可能不存在的东西,因此会有轻微的性能损失。 2)将调用附加到组件本身: my component $(‘.componentX’).doYourThing() 这很好,因为它包含同一组件中的标记和.js调用。 缺点? 3)将我们的组件体系结构与后端系统集成,以允许实例化.js块中的组件。 换句话说,它会检查组件是否放在页面temlate上,如果是,则会添加它依赖于主脚本块的js函数调用。 4)我应该考虑的其他选择? 更新: 根据肯普的回答,我想我应该澄清一下。 我们所有的jQuery函数都将被包装成一个大的压缩.js文件,所以在服务器命中方面,它们都是一样的。 我更感兴趣的是如何在单个页面模板的上下文中最好地处理页面上每个组件的所有单个函数调用。 例如,组件X可能在所有页面的90%上使用。 因此,为其他10%的页面调用jquery函数似乎不是什么大问题。 但是,组件Y可能仅在所有页面的5%上使用。 我可能不希望在95%的时间内在每个页面上调用jquery函数,这是不必要的。 进一步的情况可能会使事情进一步复杂化:组件Z可能在所有页面的100%上使用一次,但在5%的页面上使用两次。
请帮我解决这个问题。 我在AngularJS中使用jquery datepicker。 我试图获取所选日期并使用函数作为参数传递它。 为此,我使用以下代码。 HTML: 日期选择器: $( “#date1” ).datepicker(); AngularJS: function getOrg($scope, $http) { $scope.newTest = function(start_date){ alert(start_date); }; }