我有一个Angular js view.html页面,我从控制器的$ scope方法传递一个名为 datadict 的字符串。
值{{datadict.days}}显示值几乎每天和{{datadict.days.includes('几乎每天')}}显示结果 true
这是我的代码:
<div class="some_class">
<ul class="ex1">
<li><a ng-click ="datadict.days.includes('Not applicable')" class="mdcl-tab1">Not applicable</a> </li>
<li><a ng-click ="datadict.days.includes('Several Days')" class="mdcl-tab1">Several Days</a> </li>
<li><a ng-click ="datadict.days.includes('More than half the days')" class="mdcl-tab1">More than half the days</a> </li>
<li><a ng-click ="datadict.days.includes('Nearly everyday')" class="mdcl-tab1">Nearly everyday</a> </li>
</ul>
</div>
当点击一个元素时,该事件由该函数处理:
<script>
$(document).ready(function () {
$(".mdcl-tab1").on('click',function(){
$(this).addClass('tick');
$('.ex1').attr('id', 'ex1');
});
});
</script>
问题是我想触发上述条件为真的<a>
元素上的点击事件,这就是为什么我添加了这个条件 ng-click =&#34; datadict .days.includes(&#39;几乎每天&#39;)&#34; 但我没有得到理想的结果。我做错了什么?
答案 0 :(得分:3)
你可以这样做,
<script>
$(document).ready(function () {
$(".mdcl-tab1").on('click',function(){
$(this).addClass('tick');
$('.ex1').attr('id', 'ex1');
});
if($scope.datadict.days.includes('Nearly everyday')){
$(".mdcl-tab1").trigger("click");
}
});
并从锚标记
中删除ng-click属性<a class="mdcl-tab1">
答案 1 :(得分:2)
我认为你可以做这样的事情
<li><a ng-click ="datadict.days == 'Nearly Everyday' && someFunction()" class="mdcl-tab1">Not applicable</a> </li>
&#13;
然后如果你点击它,someFunction()只会在datadict.days等于&#39;几乎每天&#39;
的情况下运行