angularjs 学习 scope

之前的tab切换写的不好,看到何同学写的,学习了下,也被批评了对js对理解,如果是查询,会向上查找,如果是赋值,本作用域找不到,直接创建新的


<div class="tab-list">
    <a ng-class="{'tab-active' : cname === 'taskList'}" style="border-right:none;margin-right:-4px" ng-click="switchTab($event, 'taskList')">{{lang.task_list}}</a>
    <a ng-class="{'tab-active' : cname === 'billList'}" ng-click="switchTab($event, 'billList')">{{lang.bill_list}}</a>
</div>
<div id="bill"></div>



easySpa.use([
	'widget/slimscroll',
    'widget/prompt',
    'public/javascripts/billCreation/20161224/taskList.js',
    'public/javascripts/billCreation/20161224/billList.js',
    'public/javascripts/billCreation/20161224/dateTime.js',
    'public/common/calander.js'
]);

app.controller('billCreationCtrl',['$scope','billCreationService','billCreationView','$compile', BillCreationCtrl]);

function BillCreationCtrl($scope, billCreationService, billCreationView, $compile) {


	var route = location.hash.indexOf("from=billCreation");

	if(route === -1){
		route = 'taskList';
	}else{
		route = 'billList';
	}

	billCreationService.bill = $("#bill");

	$scope.switchTab = function(e, name){
		if(billCreationService.nowScope){
			billCreationService.nowScope.unwatcher.forEach(function(watcher){ watcher() });
			billCreationService.nowScope.$destroy();
		} 
		$scope.cname = name;
		billCreationService.getTpl(name).then(function(tpl){
			billCreationService.bill.html($compile(tpl)($scope.$new()));
		});
	};

	$scope.count = 0;

	$scope.lang = Lang.dataPool['billCreation'];

	$scope.switchTab(null, route);

}



有几篇文章也不错

点击打开链接 scope的一生

点击打开链接 深入理解scope

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值