Javascript 是否建议在AngularJS控制器中使用jQuery方法?
是否建议在AngularJS控制器中使用jQuery方法 如果没有,我应该如何转换为下面的AngularJS 我知道我可以使用指令,但我需要一个干净简单的方法Javascript 是否建议在AngularJS控制器中使用jQuery方法?,javascript,css,angularjs,angularjs-directive,angularjs-scope,Javascript,Css,Angularjs,Angularjs Directive,Angularjs Scope,是否建议在AngularJS控制器中使用jQuery方法 如果没有,我应该如何转换为下面的AngularJS 我知道我可以使用指令,但我需要一个干净简单的方法 $scope.onEnabled = function (id, enabled) { if (enabled) { jQuery('#policyRuleTitle-' + id).removeClass('collapsed'); jQuery('#policyRule-' + id).add
$scope.onEnabled = function (id, enabled) {
if (enabled) {
jQuery('#policyRuleTitle-' + id).removeClass('collapsed');
jQuery('#policyRule-' + id).addClass('in');
jQuery('#policyRule-' + id).css("height", "");
} else {
jQuery('#policyRuleTitle-' + id).addClass('collapsed');
jQuery('#policyRule-' + id).removeClass('in');
}
};
不,不推荐这种用法,因为完全用AngularJS就可以轻松完成 这是一个很好的起点:
<div id="#policyRuleTitle" ng-class="{ collapsed: enable }"></div>
<div id="#policyRule" ng-class="{ in: enable }"></div>
不,不建议使用这种用法,因为您完全可以在AngularJS中轻松完成 这是一个很好的起点:
<div id="#policyRuleTitle" ng-class="{ collapsed: enable }"></div>
<div id="#policyRule" ng-class="{ in: enable }"></div>
实现这一点的最佳方法是使用ng类和ng样式。 您可以在这里找到一个示例:
实现这一点的最佳方法是使用ng类和ng样式。 您可以在这里找到一个示例:
除了二进制Brain answer,如果您需要执行复杂的DOM操作,或者需要执行本机指令无法实现的任何操作,并且这些操作与DOM操作相关,则可以使用“指令” 您可以创建一个自定义指令,并在那里使用DOM执行您想要的任何操作
阅读此处:除了二进制Brain answer,如果需要执行复杂的DOM操作,或者需要执行本机指令无法实现且与DOM操作相关的任何操作,则可以使用“指令” 您可以创建一个自定义指令,并在那里使用DOM执行您想要的任何操作 请阅读此处:,因为这不是一个好的做法 如果要更改内置中使用的类和样式,请使用AngularJS提供的指令功能,而不是使用JQuery
.removeClass
和.addClass
var myModule=angular.module('myModule',[]);
myModule.controller('myController',函数($scope){
$scope.areaStatus=true;
$scope.enabled=false;
$scope.myStyle={
“高度”:“0px”
}
$scope.onEnabled=函数(){
如果($scope.enabled){
$scope.areaStatus=true;
$scope.myStyle={
“高度”:“0px”
}
$scope.enabled=!$scope.enabled
}否则{
$scope.areaStatus=false;
$scope.myStyle={
“高度”:“50px”
}
$scope.enabled=!$scope.enabled
}
};
});代码>
.in{
颜色:红色;
}
.崩溃{
颜色:绿色;
}
div{
边框:1px实心;
}
切换
这是一些文本
,因为这不是一个好的做法
如果要更改内置中使用的类和样式,请使用AngularJS提供的指令功能,而不是使用JQuery.removeClass
和.addClass
var myModule=angular.module('myModule',[]);
myModule.controller('myController',函数($scope){
$scope.areaStatus=true;
$scope.enabled=false;
$scope.myStyle={
“高度”:“0px”
}
$scope.onEnabled=函数(){
如果($scope.enabled){
$scope.areaStatus=true;
$scope.myStyle={
“高度”:“0px”
}
$scope.enabled=!$scope.enabled
}否则{
$scope.areaStatus=false;
$scope.myStyle={
“高度”:“50px”
}
$scope.enabled=!$scope.enabled
}
};
});代码>
.in{
颜色:红色;
}
.崩溃{
颜色:绿色;
}
div{
边框:1px实心;
}
切换
这是一些文本
use,你不需要jQuery,因为ng类是你可以使用的方式,css部分也可以使用。看看我的回答,你不需要jQuery,因为ng类是你可以使用的方式,css部分也可以使用。看看我的回答,我也需要删除style'height'属性。jQuery('#policyRule-'+id).css(“height”,”);如何用ng风格来完成?我似乎不能允许一个错误condition@in_visible看一看我的更新……现在,当添加了
中的类时,会添加高度,而当添加了
折叠时,会添加高度removed@in_visible我想这就是你想要的……同样,我也需要删除样式“高度”属性。jQuery('#policyRule-'+id).css(“height”,”);如何用ng风格来完成?我似乎不能允许一个错误condition@in_visible看一看我的更新……现在,当添加了
中的类时,会添加高度,而当添加了
折叠时,会添加高度removed@in_visible我想这就是你想要的……同样,我也需要删除样式“高度”属性。jQuery('#policyRule-'+id).css(“height”,”);如何用ng风格来完成?我似乎不能允许像使用ng class
:ng style=“{height:your_condition?your_height:auto}”这样的条件
我需要从“style”中删除height属性。您不能删除HTML/CSS中的height
属性。但是auto
是它的默认值,这就是你想要做的。我也需要删除style'height'属性。jQuery('#policyRule-'+id).css(“height”,”);如何用ng风格来完成?我似乎不能允许像使用ng class
:ng style=“{height:your_condition?your_height:auto}”这样的条件
我需要从“style”中删除height属性。您不能删除HTML/CSS中的height
属性。但是auto
是它的默认值,这就是您想要做的。
angular.module('TestApp', [])
.controller('mycontroller',
["$scope",
function($scope){
$scope.div_class = "myDivClass"
$scope.div_css = "{'background-color':'yellow'}"
}]);