Javascript 在angularjs中使用ng视图替换视图
当视图更改其属性时,请替换ng视图中的上一个视图。但这并没有改变。它显示了模板数据,即“上下文”Javascript 在angularjs中使用ng视图替换视图,javascript,angularjs,routing,ng-view,Javascript,Angularjs,Routing,Ng View,当视图更改其属性时,请替换ng视图中的上一个视图。但这并没有改变。它显示了模板数据,即“上下文” var-app=angular.module(“myapp”、“ngRoute”); 应用程序服务('datapass',函数(){ this.name=“name”; }); app.config(函数($routeProvider){ $routeProvider .when(“/name”{ 模板:“上下文”, 控制器:“前控制器” }) .when(“/detail”{ 模板:“我的名字是
var-app=angular.module(“myapp”、“ngRoute”);
应用程序服务('datapass',函数(){
this.name=“name”;
});
app.config(函数($routeProvider){
$routeProvider
.when(“/name”{
模板:“上下文”,
控制器:“前控制器”
})
.when(“/detail”{
模板:“我的名字是Awais Saleem”,
控制器:“主控制器”
})
。否则(“/名称”);
});
应用控制器(“前端控制器”,功能($scope,datapass,$location){
$scope.url=datapass.name;
$scope.changeView=函数(){
$scope.url=datapass.name=(datapass.name=“name”)?“详细信息”:“name”;
};
});
应用控制器(“主控制器”,功能($scope,datapass,$location){
$scope.url=datapass.name;
$scope.changeView=函数(){
$scope.url=datapass.name=(datapass.name=“name”)?“详细信息”:“name”;
};
});代码>
它不工作的原因是,$scope.url
只在它的控制器中被识别,而且由于HTML页面中没有任何控制器,它不知道这意味着什么
一个快速而肮脏的解决方案是将其添加到$rootScope
,但更好的解决方案是添加一个带有控制器的父状态,然后所有状态都将具有该功能。它不工作的原因是因为$scope.url
仅在其控制器中被识别,由于HTML页面中没有任何控制器,它不知道这意味着什么
一个快速而肮脏的解决方案是将其添加到$rootScope
,但更好的解决方案是添加一个带有控制器的父状态,然后所有状态都将具有该功能。定义的控制器只能在
元素中访问,但是,您正试图在父标记中使用它(”,
控制器:“前控制器”
})
.when(“/detail”{
模板:“”,
控制器:“主控制器”
})
。否则(“/名称”);
});
应用控制器(“前端控制器”,功能($scope,datapass,$location){
$scope.changeView=函数(){
datapass.name=(datapass.name==“name”)?“detail”:“name”;
$location.path(“/”+datapass.name);
};
});
应用控制器(“主控制器”,功能($scope,datapass,$location){
$scope.changeView=函数(){
datapass.name=(datapass.name==“name”)?“detail”:“name”;
$location.path(“/”+datapass.name);
};
});代码>
定义的控制器只能在
元素中访问,但是,您正试图在父标记(')中使用它,
控制器:“前控制器”
})
.when(“/detail”{
模板:“”,
控制器:“主控制器”
})
。否则(“/名称”);
});
应用控制器(“前端控制器”,功能($scope,datapass,$location){
$scope.changeView=函数(){
datapass.name=(datapass.name==“name”)?“detail”:“name”;
$location.path(“/”+datapass.name);
};
});
应用控制器(“主控制器”,功能($scope,datapass,$location){
$scope.changeView=函数(){
datapass.name=(datapass.name==“name”)?“detail”:“name”;
$location.path(“/”+datapass.name);
};
});代码>
尝试使用ng href
而不是href
。不工作,但当我在body标签中添加ng控制器时它会工作。它也应该是href=“#!/{{url}”
仍然不工作尝试使用ng href
而不是href
。不工作,但当我在body标签中添加ng控制器时它会工作。它也应该是href=“#/{{url}}“
仍然不工作,但我正在使用其模板在路由中指定控制器,为了在控制器之间共享数据,我正在使用“datapass”服务。但是我正在使用其模板在路由中指定控制器,为了在控制器之间共享数据,我正在使用“datapass”服务。非常好的解释非常好的解释