在项目中经常会用到ng-if/ng-switch,但是在使用这两个directive之后,在scope中定义的变量在这使用两个directive的html中访问不到。原因是由于使用ng-if/ng-switch会创建自己的scope,也是就是当前scope的子scope。解决办法有两种
app.controller('MainCtrl', function($scope) {
$scope.model = {
name: 'Jack'
}
$scope.name='Eason';
});
<body ng-controller="MainCtrl">
<input ng-if="1===1" ng-model="model.name">
<p>Hello {{model.name}}!</p>
<input ng-if="1===1" ng-model="$parent.name">
<p>Hello {{$parent.name}}!</p>
</body>