我正在尝试更改网址而不重新加载$stateChangeSuccess
。当元素存在时,它应该改变状态并滚动到元素。我能够滚动但无法改变状态。抱歉我的英语不好。
$rootScope.$on('$stateChangeStart',
function(event, newUrl, oldUrl, fromState, fromParams) {
var l = ($location.$$path).split("/");
l.shift();
var step = l[1];
if (step != "step4") return
var module = l[2];
if (newUrl.data.elementExists(module)) {
var el = document.getElementById("SECTION" + module.hashCode());
ZCScrollComponents.scrollTo(ZCDocumentationContainer, el.offsetTop, 300, null);
event.preventDefault();
$state.go($location.$$path)
return false
}
})
答案 0 :(得分:0)
Package com.example.administrator.mosbeau;
import android.app.Fragment;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
/**
* Created by Administrator on 9/1/2015.
*/
public class LoginFragment extends Fragment {
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.loginlayout, container, false);
}
}
http://angular-ui.github.io/ui-router/site/#/api/ui.router.state。$状态
我们可以阅读选项对象及其设置 <?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:fillViewport="false">
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent"
>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageView4"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:src="@drawable/logo"
android:maxHeight="54dp"
android:maxWidth="322dp"
android:layout_marginTop="20dp"
android:layout_marginLeft="100dp"
android:layout_marginRight="100dp" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageView5"
android:layout_below="@+id/imageView4"
android:layout_centerHorizontal="true"
android:src="@drawable/lock"
android:layout_marginLeft="150dp"
android:layout_marginRight="150dp"
android:layout_marginTop="-60dp" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/txtEmail"
android:layout_below="@+id/imageView5"
android:layout_centerHorizontal="true"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp"
android:hint="Email"
android:background="#ffeeeeee"
android:padding="10dp"
android:layout_marginTop="-30dp"
android:textColor="#ff6d6e71" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:ems="10"
android:id="@+id/txtPassword"
android:layout_below="@+id/txtEmail"
android:layout_centerHorizontal="true"
android:layout_marginLeft="30dp"
android:layout_marginTop="10dp"
android:layout_marginRight="30dp"
android:textColor="#ff6d6e71"
android:background="#ffeeeeee"
android:padding="10dp"
android:hint="Password" />
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Sign in"
android:id="@+id/btnSignin"
android:layout_centerHorizontal="true"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp"
android:textColor="#ff6d6e71"
android:layout_marginTop="10dp"
android:layout_below="@+id/txtPassword"
android:longClickable="false"
android:clickable="true"
android:background="#fffed4d4" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Forgot your Password ?"
android:id="@+id/textForgot"
android:layout_below="@+id/btnSignin"
android:layout_alignLeft="@+id/btnSignin"
android:layout_marginTop="10dp"
android:textColor="#ff607d8b"
android:textSize="18dp"
android:clickable="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Sign Up"
android:id="@+id/textSignup"
android:layout_alignBottom="@+id/textForgot"
android:layout_alignRight="@+id/btnSignin"
android:textColor="#ff607d8b"
android:textSize="18dp"
android:layout_marginTop="10dp"
android:clickable="true" />
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Login with facebook"
android:id="@+id/btnLoginfb"
android:layout_below="@+id/textForgot"
android:layout_centerHorizontal="true"
android:layout_marginLeft="30dp"
android:layout_marginTop="20dp"
android:layout_marginRight="30dp"
android:background="#ff2385ff"
android:textColor="#ffffffff"
android:clickable="true"
android:focusableInTouchMode="false" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Help"
android:id="@+id/btnLoginhelp"
android:layout_below="@+id/btnLoginfb"
android:layout_alignLeft="@+id/btnLoginfb"
android:layout_marginTop="10dp"
android:background="#fffed4d4"
android:textColor="#ff6d6e71"
android:clickable="true"
android:layout_marginBottom="20dp"
android:focusableInTouchMode="false" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Skip"
android:id="@+id/btnLoginskip"
android:background="#fffed4d4"
android:textColor="#ff6d6e71"
android:layout_alignTop="@+id/btnLoginhelp"
android:layout_alignRight="@+id/btnLoginfb"
android:clickable="true"
android:layout_marginBottom="20dp"
android:focusableInTouchMode="false" />
</RelativeLayout>
</ScrollView>
$state.go()
...
选项对象。选项包括:
- location -
notify
- 如果为true,则会更新位置栏中的网址,如果为false则不会。如果是字符串,则必须为“替换”,这将更新网址并替换上一条历史记录。- inherit -
go(to, params, options)
,如果为true,则会从当前网址继承url参数。- relative - {object = $ state。$ current},当使用相对路径(例如'^')进行转换时,定义哪个状态是相对的。
- notify -
{boolean=true|string=}
,如果为true,则会广播$ stateChangeStart和$ stateChangeSuccess事件。- reload(v0.2.5) -
{boolean=true}
,如果为true,则强制转换,即使状态或参数没有改变,也就是重新加载相同的状态。它与reloadOnSearch不同,因为当你想在一切都相同时强制重新加载时你会使用它,包括搜索参数。
所以答案是使用 {boolean=true}
,因为:
如果为true,将广播$ stateChangeStart和$ stateChangeSuccess事件。