我有这段代码http://plnkr.co/edit/kiH0Ge?p=preview
<!doctype html>
<html ng-app="plunker" >
<head>
<meta charset="utf-8">
<title>AngularJS Plunker</title>
<link rel="stylesheet" href="style.css">
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.1/angular.js"></script>
<script src="app.js"></script>
</head>
<body ng-controller="MainCtrl">
<choice-tree ng-model="myTree" children="true"></choice-tree>
<hr />
$scope.myTree = {{myTree | json}}
</body>
</html>
我添加了parametr checkChildren
<choice-tree ng-model="myTree" checkChildren="true"></choice-tree>
然后在check指令中我想有条件地运行函数
if(scope.checkChildren === 'true')
checkChildren(choice);
但它不起作用。
我知道有孤立的范围,但是如何构建树。
答案 0 :(得分:0)
如果我的理解是正确的,我认为这是一个简单的错字。 经过一些修改,似乎有效:http://plnkr.co/edit/BJqsl3
您想检查bool值,例如scope.checkChildren === true
不反对'true'
如果我删除了上面指出的if
语句,并致电
checkChildren()
,它有效。
这是你想要的吗?
Plunk会相应更新。
答案 1 :(得分:0)
现在一切正常http://plnkr.co/edit/5lLGIQ?p=preview
我只是把孩子换成了孩子和这个(关键)
$compile('<choice-tree ng-model="choice.children" children="{{children}}"></choice-tree>')(scope);
到
$compile('<choice-tree ng-model="choice.children" withchildren="'+scope.withchildren+'"></choice-tree>')(scope);