此html代码:
<md-button class="md-primary " ng-click="setDevice('phone')">Phone
</md-button>
<md-button class="md-primary " ng-click="setDevice('tablet')">
Tablet
</md-button>
<div class="area-{{setDevice}}">
<me-iphone tmp-url="{{appTemplateUrl}}"></me-iphone>
</div>
首次单击电话或平板电脑按钮时更新setDevice值
$scope.setDevice = "";
$scope.setDevice = function(setDevice){
$scope.setDevice = setDevice;
}
问题是(单击手机时),单击平板电脑按钮时未更新setDevice值
当单击两个按钮时,希望更新
$scope.setDevice
值 最佳答案
尽管您的思路是正确的,但您在语法上却有些混乱。 :)
没关系,这是学习中必不可少的步骤。
在代码中,首先将setDevice
声明为字符串,然后声明为函数。因为最后一个赋值是一个函数,所以$scope.setDevice
不再是字符串,而是一个函数。
将变量的名称更改为其他名称,它将正常工作。
$scope.currentDevice = "";
$scope.setDevice = function(setDevice){
$scope.currentDevice = setDevice;
}
在你的
HTML
<md-button class="md-primary " ng-click="setDevice('phone')">Phone</md-button>
<md-button class="md-primary " ng-click="setDevice('tablet')">Tablet</md-button>
<div class="area-{{currentDevice}}"> <!-- THIS NEEDS TO BE UPDATED AS WELL -->
<me-iphone tmp-url="{{appTemplateUrl}}"></me-iphone>
</div>