使用状态"onEnter"触发控制器内部的一个函数;函数
Triggering a function inside of a controller using states "onEnter" function
所以我的导航使用的是角状态。每当你点击菜单上的一个项目时,它就会触发一个功能,改变标题中的图片,这样每个页面的标题上就会有不同的图片。当有人从网站的主页开始,只通过点击导航时,这个功能很好,但是当你输入url时,这个功能不会被触发。我试图使用onEnter()来触发它,所以我可以放下点击,它将在两种情况下工作,但它看起来像我有范围问题,可以真正使用一些指导。
app.directive("mainNav", function() {
return {
restrict: "E",
templateUrl: "js/main-nav.html",
controller: function() {
this.tab = tabbytab;
this.isSet = function(checkTab) {
return this.tab === checkTab;
};
this.setTab = function(activeTab) {
tabbytab = activeTab;
window.fbAsyncInit();
};
this.imageArray = navImages;
//minus 1 because tabbytab starts at 1 and the array doesnt of course
this.currentImage = navImages[(tabbytab - 1)].image;
console.log(tabbytab);
this.setImage = function(activeTab) {
this.currentImage = this.imageArray[tabbytab].image;
};
},
controllerAs: "tab"
};
});
这是我的状态
.state('home', {
url: "/home",
templateUrl: "js/home.html",
onEnter: function() {
tab.setTab(1);
console.log("on enter function triggered");
}
})
您能再解释一下您所说的范围界定问题是什么意思吗?到底发生了什么?
另一种可能不那么复杂的方法是使用$routeParams https://docs.angularjs.org/api/ngRoute/service/。基本上,你可以从路由(url)中拉入参数,并根据url显示图像。
相关文章:
- Javascript复选框函数:;缺少:在属性id之后"
- 为什么spyOn"停止函数“”的所有执行;Jasmine(要求澄清Jasmine 2.2间谍文件)
- 得到"未定义不是函数“;使用显示原型图案时出错
- 什么是"!函数(){}〃;javascript中的mean/do
- 我对“;返回true"嵌套函数内部;t工作
- 为什么"构造函数是一种特殊情况;
- 如何分解jQuery"toggle”;函数转换为separate“;显示“;以及“;隐藏“;功能
- "这个“;函数的作用域无效
- "未定义不是函数“;错误jQuery,.replaces,scrollTop
- 我收到一个类型错误,其中包含-"$不是函数“;使用noConflict时
- 传递带有符号“”的字符串变量'"到函数
- "撤消”;Javascript中的DOM操作函数
- JavaScript美学:;函数foo(){}"vs“;var foo=函数(){}"AMD功能
- 得到"TypeError:对象不是函数“”;在forEach循环中使用超级测试/超级代理时
- “=>"在javascript中定义函数的语法及其意义
- "可变变量可从闭包“”访问;在传递给Array.prototype.every的函数中
- "未捕获的类型错误:未定义的不是函数“;当向输入字段添加值时
- "对象不是函数“;当将Node.js HTTP服务器对象传递给Socket.IO时
- AngularJS'ng:areq错误参数"{controller}不是函数“;,CodeIgnite
- 页面不可滚动,其中ng include=“”;函数()"-该代码已不再使用