angular ngview为什么执行两次
1个回答
推荐于2016-11-06 · 知道合伙人互联网行家
关注
展开全部
在完成angular的项目构建,当和easyui的datagrid结合时,我需要在datagrid的行选中onClickRow事件发生后获取行的id时,并传递给angular的模型变量。以便我的angular删除功能可以使用,
也许有人会问,为什么不用
<a ng-click="/xxxxx/"+row.id>删除</a>
经过我的测试,ng-click只会在dom生成时(编译or连接时)进行赋值,运行期间无法改变ng-click右边的值(如果有不同的结果的朋友希望也能告诉我一声),上easyui中datagrid的行点击事件 代码:
//当datagrid的onClickRow事件发生时,更改model中的id值
onClickRow : function(rowIndex, rowData) {
//alert(rowData.id);
//get a hold of controller and scope
var element = angular.element($("#myDatagrid"));
var controller = element.controller();
var scope = element.scope();
//as this happends outside of angular you probably have to notify angular of the change by wrapping your function call in $apply
scope.$apply(function(){
scope.updateRowid(rowData.id);
});
}
下面是我当前页面的的angular控制器代码,
app.controller('PermissionListCtrl', ['$scope', 'PermissionFactory','$routeParams',
'$location', function($scope, PermissionFactory, $routeParams,$location) {
$scope.rowid = "";
// 在permission列表页面点击编辑时,执行的function,即会跳转到编辑页面
也许有人会问,为什么不用
<a ng-click="/xxxxx/"+row.id>删除</a>
经过我的测试,ng-click只会在dom生成时(编译or连接时)进行赋值,运行期间无法改变ng-click右边的值(如果有不同的结果的朋友希望也能告诉我一声),上easyui中datagrid的行点击事件 代码:
//当datagrid的onClickRow事件发生时,更改model中的id值
onClickRow : function(rowIndex, rowData) {
//alert(rowData.id);
//get a hold of controller and scope
var element = angular.element($("#myDatagrid"));
var controller = element.controller();
var scope = element.scope();
//as this happends outside of angular you probably have to notify angular of the change by wrapping your function call in $apply
scope.$apply(function(){
scope.updateRowid(rowData.id);
});
}
下面是我当前页面的的angular控制器代码,
app.controller('PermissionListCtrl', ['$scope', 'PermissionFactory','$routeParams',
'$location', function($scope, PermissionFactory, $routeParams,$location) {
$scope.rowid = "";
// 在permission列表页面点击编辑时,执行的function,即会跳转到编辑页面
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询