Javascript 内部使用ion view的自定义指令未更新导航栏

Javascript 内部使用ion view的自定义指令未更新导航栏,javascript,angularjs,ionic-framework,Javascript,Angularjs,Ionic Framework,当我重构代码时,我发现在不同的视图中有一些html模板(或多或少相同)。所以我试着做一个自定义指令,这样我就可以避免重复。但后来我看到了ion视图,ion内容的行为和平常不一样 我在这里设置了一个plnker:- 此plnkr有两个按钮用于每个Id不同的选项卡。第一个按钮(使用我的视图指令)不会更新导航栏(即显示后退按钮和更改标题),但第二个按钮会更新导航栏。请告诉我更正指令和标记的正确方法 我试图找出它不起作用的原因,并感觉到my view指令中的ion view无法直接访问其所需的父级(如文

当我重构代码时,我发现在不同的视图中有一些html模板(或多或少相同)。所以我试着做一个自定义指令,这样我就可以避免重复。但后来我看到了ion视图,ion内容的行为和平常不一样

我在这里设置了一个plnker:- 此plnkr有两个按钮用于每个Id不同的选项卡。第一个按钮(使用我的视图指令)不会更新导航栏(即显示后退按钮和更改标题),但第二个按钮会更新导航栏。请告诉我更正指令和标记的正确方法

我试图找出它不起作用的原因,并感觉到my view指令中的ion view无法直接访问其所需的父级(如文档所述),即ion nav view。但我想,如果你们专家能告诉我的话,可能会有一个解决办法

编辑:- 当您尝试plnkr时,蓝色按钮选项卡没有后退按钮。您可以使用alt+左箭头键返回主页

反向链接-

提前谢谢

(函数(角度){
有棱角的
.模块(“testApp”、[“ionic”])
.config(路由)
.指令(“myView”,myView)
.controller(“TabCtrl”,TabCtrl)
路由。$inject=[“$stateProvider”、“$urlRouterProvider”、“$ionicConfigProvider”]
功能路由(StateProvider、UrlRouterProvider、IonicConfigProvider){
//启用本机滚动
IonicConfigProvider.scrolling.jsScrolling(false)
变量状态={
“家”:{
姓名:“家”,
网址:“/”,
templateUrl:“templates/home.html”,
},
“选项卡”:{
名称:“制表符”,
url:“/tab/:id”,
模板:“”,
控制器:“TabCtrl作为vm”
},
“表2”:{
名称:“tab2”,
url:“/tab2/:id”,
templateUrl:'templates/myView.html',
控制器:“TabCtrl作为vm”
}
}
//登记国
变量状态
for(州中的州){
StateProvider.state(states[状态])
}
UrlRouterProvider。否则(“/”)
}
TabCtrl.$inject=[“$state”,“$stateParams”]
函数TabCtrl(状态、状态参数){
var vm=这个
vm.id=StateParams.id
}
MyView.$inject=[]
函数MyView(){
返回{
限制:“E”,
范围:{
id:“=tabId”
},
控制器:[“$scope”,“$timeout”,MyViewCtrl],
controllerAs:“虚拟机”,
bindToController:对,
templateUrl:“templates/myView.html”
}
函数MyViewCtrl(范围、超时){
var vm=这个
console.log(范围)
//确保控制器对视图有影响
vm.loading=true
超时(函数(){
vm.loading=false
}, 500)
}
}
})(角度)
/*样式在这里*/
副旋转器{
文本对齐:居中!重要;
位置:绝对!重要;
前50%!重要;
左:50%!重要;
}
离子微调器{
职位:相对!重要;
前-50%!重要;
左-50%!重要;
}

TabType1-{id}
TabType2-{id}
选项卡:-{vm.id}

它是angular2吗?不,它是离子1和Angular1。所以Javascript,没有类型脚本。请检查plnkr。如果它不起作用,请告诉我。