【问题标题】:setting ng-bind-html on an iterating table in cshtml在 cshtml 中的迭代表上设置 ng-bind-html
【发布时间】:2016-11-21 23:21:52
【问题描述】:

我正在设置 ng-init

 <td ng-init="myInit='myInit='@deal.OriginText')'">

基于下面的 foreach 语句

@foreach (var deal in @Model.Deals.Take(Model.NumberOfFaresToDisplay ?? 6))

在我的 html 中,一切看起来都很好。

@deal.OriginText // returns the city && correct for each td

在我的 javascript 中,我将 myInit 设置为范围键值对

 var currentFlight = scope.myInit; //exists inside of a ng-click function

CurrentFlight 已开启

scope.openPriceChart = function (index) {
    currentFlight //always the value of last ng-init on td from foreach
 } 

不知道如何获得正确的。任何见解将不胜感激。

【问题讨论】:

  • 当用户点击td 元素时,您是否尝试使用ng-init 期间设置的值?
  • 是的。不知道如何通过它。我在 myInit 函数中尝试了一个参数

标签: javascript angularjs asp.net-mvc-4 razor


【解决方案1】:

虽然您的代码没有任何问题,但当前设置会覆盖 myInit 值,因此您始终会看到最后一组。试试这个选项

这里使用数据属性获取值集

<td data-myvalue = '@deal.OriginText' ng-click="DoSomething($event)">@deal.OriginText</td>

脚本更新

 $scope.DoSomething= function(abc){
   console.log(abc.originalTarget.dataset.myvalue);
 }

据我了解,您正在尝试获取在 td 元素上设置的 @deal.OriginText 的值。另一种/更好的方法是直接传递 DoSomething('@deal.OriginText') 而不是 $event 。如果这不是您想要的,请告诉我们..

【讨论】:

  • 不错!我正在尝试与此非常相似的东西。我也会测试这个。希望它有效!谢谢
  • @stevek 不错,那么你还在传递$event 还是使用@deal.OriginText
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-29
  • 2015-02-11
  • 1970-01-01
  • 1970-01-01
  • 2015-12-27
相关资源
最近更新 更多