每次显示页面时,angularjs都会运行函数

时间:2015-12-10 18:19:24

标签: javascript angularjs ionic

我有这段代码:

 Dim ds As New DataSet
 Dim sda As System.Data.SqlClient.SqlDataAdapter
 Dim sSQL As String
 Dim strCon As String

 sSQL = " .... MY QUERY HERE .... "

 strCon = appBase.dbConnString

 sda = New System.Data.SqlClient.SqlDataAdapter(sSQL, strCon)
 sda.Fill(ds, "MY TABLE FROM DB")


 dgRecordsContent.DataSource = ds.Tables("MY TABLE FROM DB")
 dgRecordsContent.DataBind()

 dgRecordsContent.Visible = True

 dbConn.Close()

当此页面已加载时(第一次打开),它会获得在线状态并在此页面中显示。

问题是,我浏览应用程序,当我来到此页面时(我认为它已经加载)它没有再次运行$ http.get。

如何知道何时再次打开页面(未加载)?

2 个答案:

答案 0 :(得分:2)

看看:http://ionicframework.com/docs/api/directive/ionView/

专门针对"查看LifeCycle和Events"部分 - 在那里它表示视图被缓存(你可以配置一个缓存),你可以听一些特定阶段的事件。

所以你可以这样做:

  $scope.$on("$ionicView.beforeEnter", function() {
    console.log("http call here");        
  });

答案 1 :(得分:2)

在您的路线配置中,您可以添加 cache:false 参数,例如

.state('app.home', {
    cache: false,
    url: '/home',
    views: {
        'menuContent': {
            templateUrl: 'templates/home.html',
            controller: 'HomeCtrl'
        }
    }
})