Javascript AngularJS指令-传入选项对象与单独属性的优缺点?
假设我正在为散点图创建一个指令,该散点图应该有一整套可配置的属性。 据我所知,我可以设置以下各个范围属性:Javascript AngularJS指令-传入选项对象与单独属性的优缺点?,javascript,angularjs,Javascript,Angularjs,假设我正在为散点图创建一个指令,该散点图应该有一整套可配置的属性。 据我所知,我可以设置以下各个范围属性: directive('scatterChart', ['$http', function($http){ scope: { data: "=?", selected : "=?", indicatorX : "=?", indicatorY : "=?", indicatorSize : "=?" } 或使用以下选项传递对象: directive('sc
directive('scatterChart', ['$http', function($http){
scope: {
data: "=?",
selected : "=?",
indicatorX : "=?",
indicatorY : "=?",
indicatorSize : "=?"
}
或使用以下选项传递对象:
directive('scatterChart', ['$http', function($http){
scope: {
model: "=?",
}
在后一种情况下,我不必回去调整我的标记,这就足够了:
<div class="scatter-chart" model="scatter.options">
那么,我应该采用哪种方法?为什么?如果要覆盖一个或两个参数,多属性可能是一个很好的解决方案。就我个人而言,我喜欢对象“模式”,因为它包含所有内容,并且我可以从控制器更新模型,而无需接触HTML 取决于您希望如何更新模型变量。您正在使用controller/scope方法还是通过.attr()或其他dom操作框架进行更新?这取决于你的需要,但我认为使用一个对象最适合你
scope.$watch('model', function(newVal, oldVal) {
render();
}, true);