使用AngularJS指令,工厂和ng-repeat动态更改内容

时间:2016-11-06 10:06:46

标签: javascript jquery angularjs ng-repeat directive

我正在开发一个小部件,只要我点击相应的按钮,它就会动态地改变它的内容。我花了很多时间来解决这个问题,但我做不到。

我已经存储了角度工厂提供的所有数据。我想要实现的是,只要我点击一个按钮,它就会触发一个事件来获取工厂数据中的另一个属性,这也是另一个数据集。这些将显示在带有ng-repeat的内容框中。

我将附上下面的示例代码以供您参考。请留下任何建议或任何有助于我理解并进一步解决的概念。谢谢你的时间!

//index.html
<div directive>
 <div class='buttons'>
   <p>Button A</p>
   <p>Button B</p>
   <p>Button C</p>
 </div>
 <div>
  <a ng-repeat='a in data'>{{a.title}} {{a.author}}</a>
 </div>
</div>
//app.js
app.directive('directive', ['factoryData', function(factoryData) {
 return {
  restrict: 'A',
  link: function ($scope, ele, attrs) {
   $scope.data = factoryData.firstProp;
   var btns = $(ele).find('p');
   p.on('click', function () {
    $scope.data = factoryData.secondProp;
    ...
    ...
   });
  },
 };
}]);

1 个答案:

答案 0 :(得分:1)

当您尝试将新数据绑定到角度上下文之外的范围时,您需要在指令中使用df$hos.sub=paste(df$hospital,df$subject) df$hos.dru=paste(df$hospital,df$drug) ind1 <- list(factor(df$hos.sub),factor(df$hos.dru)) res<-tapply(df[,"outcome"],ind1,mean) head(res[,1:10]) > head(res[,1:9]) H_1 D_1 H_1 D_10 H_1 D_100 H_1 D_1000 H_1 D_101 H_1 D_102 H_1 D_103 H_1 D_104 H_1 D_105 H_1 S_1 26.550866 83.189899 6.516364 45.77171 6.471249 26.6257392 81.14044 9.088058 67.64499 H_1 S_10 6.178627 4.288589 45.675309 77.90078 3.338293 95.5751769 92.02642 49.810641 14.31814 H_1 S_2 37.212390 76.684275 27.743618 21.32599 67.661240 66.0476814 82.46891 97.271288 88.86986 H_1 S_3 57.285336 27.278032 60.041069 55.22206 73.537169 21.2416518 91.60083 85.267414 95.01507 H_1 S_4 90.820779 18.816330 27.314448 13.21052 11.129967 0.5266102 72.34151 49.899330 91.69972 H_1 S_5 20.168193 22.576183 94.148905 44.60504 4.665462 10.2902506 91.02545 27.440370 90.51900

$apply