我做两个指令的。对一个指令,我有删除 button.and第二个指令。现在我想删除的删除按钮值我得到一个对象值的形式共享服务,我尝试清空我的对象,但它是没有发生,为什么......?如果我做错了什么是做这个任务的最好方法?如何使用diectives从Angular中的对象中删除属性?
plunker http://plnkr.co/edit/Yenmira9J9XpjscQzRoX?p=preview
代码
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="style.css">
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
</head>
<body ng-app="app">
<a></a>
<b></b>
<script>
angular.module('app',[]).directive('a',function(){
return {
restrict :'E',
scope:{},
templateUrl:'a.html',
controller:'ts',
controllerAs:'vm'
}
}).controller('ts',function(sharedService){
var vm=this;
vm.delete=function(){
alert('--');
sharedService.deletepro();
}
}).directive('b',function(){
return {
restrict :'E',
scope:{},
templateUrl:'b.html',
controller:'bb',
controllerAs:'vm'
}
}).controller('bb',function(sharedService){
var pm=this;
pm.message= sharedService.sendData();
}).service('sharedService',function(){
var vm =this
vm.data={};
vm.sendData=sendData;
vm.deletepro=deletepro;
function deletepro(){
vm.data={};
}
function sendData(){
var obj ={name:"pQr"};
vm.data=obj;
return vm.data;
}
})
</script>
</body>
</html>
我尝试删除这样的,但不能正常工作
vm.delete=function(){
alert('--');
sharedService.deletepro();
}
更新答案提供的不工作
更新plinker
http://plnkr.co/edit/Yenmira9J9XpjscQzRoX?p=preview
'delete myObject.property'从'myObject'引用的对象中删除名为'property'的属性,但它看起来像你的问题可能是一个没有触发的回调。您是否曾尝试在每个回调中放置日志语句以查看什么是触发和按什么顺序。 –
对不起,我正在使用角js ..请先看看猛击 – user944513
负选民请试着回答这个问题..这是个好问题,我试了很多然后我问这个 – user944513